jquery.css('text-decoration') не работает от родителей

Мне нужно получить необходимое свойство css элемента (свойства могут быть унаследованы от его родителя)

Стандартный jquery .css() может это сделать.

Итак, у меня есть такой HTML:

<div id="container"> some text<br>
        <span id="some">Our element</span>
   <br> some text
</div>

<div id="result">
</div>

CSS:

#some {
    font-weight:bold;
}

#container {
    text-decoration: underline;
    color: rgb(0,255,0);
    font-size: 32px;
}

и код jQuery:

$(function() {
    var decor = $("#some").css('text-decoration');
    var weight = $("#some").css('font-weight');
    var color = $("#some").css('color');
    var size = $("#some").css('font-size');
    var result = "<br><b>our object's own property:</b>"
    result += "<br>font-weight:" + weight + "<br>";
    result += "<br><b>inherited properties:</b><br>";
    result += "color: " + color + "<br>font-size: " + size + "<br>text-decoration: " + decor;

    $("#result").html(result);
});

Все свойства отображаются, а text-decoration - нет. Но почему? http://jsfiddle.net/aQYs2/


person Larry Cinnabar    schedule 27.03.2011    source источник


Ответы (1)


text-decoration определяется с помощью Inherited:no внутри спецификации css, но другие свойства, которые вы используете в своем примере, определяются с помощью Inherited:yes

См.: http://www.w3.org/TR/CSS2/text.html#propdef-text-decoration

Так что все работает очень хорошо :)

person Dr.Molle    schedule 27.03.2011
comment
Разве вы не знаете альтернативу оформления текста: подчеркивание. Какие другие свойства CSS могут сделать подчеркивание без оформления текста? Потому что мне нужно наследство =) - person Larry Cinnabar; 27.03.2011
comment
Нет, но #container *{text-decoration:inherit;} должен это сделать. - person Dr.Molle; 27.03.2011