我正在尝试根据css属性进行选择(在我的情况下为top
)。
HTML:
<i style="top:1px;">1px</i><br/>
JS:
$('i').each(function() {
var top = $(this).css('top');
console.log('top = '+top);
if(top == '1px') j(this).css('border','1px solid green');
});
但这不起作用。 Top的值为'auto'。小提琴:http://jsfiddle.net/forgetcolor/qUjWq/
我猜这与计算样式(?)有关,但我不确定。这有什么用,有没有办法根据风格区分标签? (在我的应用程序中,我无法控制所写的HTML,因此不能选择更改它。)
答案 0 :(得分:2)
打败我的原因,但你可以这样做:
var top = $(this).get(0).style.top;
答案 1 :(得分:2)
答案 2 :(得分:1)
您需要为css分配postion
属性,使其成为auto之外的其他属性。我已应用position:relative
here (new jsFiddle),现在正在使用。
答案 3 :(得分:-1)
我认为原来小提琴中只有一些拼写错误。 看一下这个 。 http://jsfiddle.net/eQVar/ 我没有改变任何东西。(只是更正了错误,有一个j而不是$)。所以top可以在没有位置的情况下使用。 :)