我需要"移动" jQuery中的所有固定元素。这就是我试过的:
jQuery('body *').each(function(){
var $this = jQuery(this);
if ($this.attr('position') !== undefined)
{
$this.css('margin-top', 50);
}
});
但不幸的是它不起作用,$this.attr('position')
总是undefined
。但它是在一些元素上设定的。 (来自CSS,不是内联)
答案 0 :(得分:4)
首先position
是CSS属性,而不是HTML属性,因此attr()
无法使用它。其次,CSS属性永远不会undefined
。它们始终具有默认值,但它从您的问题标题中看出您想要'fixed'
元素:
$('body *').filter(function() {
return $(this).css('position') === 'fixed';
}).css('margin-top', '50px');
然而,应该指出的是,这远非理想的解决方案。我强烈建议在要修改的元素上添加一个类或其他标识符,然后向class
添加一个margin-top
来设置jQuery('body *').each(function(){
var $this = jQuery(this);
if ($this.css('position') !== undefined)
{
$this.css('margin-top', 50);
}
});
。
答案 1 :(得分:3)
你应该使用jquery的.css() style property来检查这个。
// Send message and store the future
Future<RecordMetadata> messageFuture = producer.send(new ProducerRecord<String, byte[]>(topic, serialize(currentMessage)));
producer.flush();
// as flush blocks until all operations have been completed (regardless of success or failure) we can be sure
// that our future is available at this point
try {
RecordMetadata metaData = messageFuture.get();
System.out.println("Sent message with offset: " + metaData.offset());
} catch (Exception e) {
// do some error handling
}
答案 2 :(得分:3)
您只需*
即可迭代所有文档元素
要获取css的值,您需要在css()
中使用if
方法来检查property的值而不是attr。我为你做了一个工作的例子,希望它有所帮助:
$('*').each(function(){
if ($(this).css('position') == "fixed"){
$(this).css('margin-top', 50);
$(this).css('color', "red");
}
});
.a{
position:fixed;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span>My test 1</span>
<span>My test 2 </span>
<span class="a">My test 3 </span>
<span>My test 4</span>
<span>My test 5</span>
<span class="a">My test 6</span>
<span>My test 7</span>