Jquery 为div中的所有img提供属性

Jquery 为div中的所有img提供属性,jquery,children,Jquery,Children,我希望一个div中的所有图像都有一定的边距属性,我似乎无法使其正常工作,这是我尝试过的 $("#images > img").each(function(){ $(img).css({ margin-top:15px; margin-bottom:15px; }); }); 谢谢你的帮助 $("#pt_figures").click(function() { $('#images').empty(); $('#images').css({ paddin

我希望一个div中的所有图像都有一定的边距属性,我似乎无法使其正常工作,这是我尝试过的

$("#images > img").each(function(){
    $(img).css({
      margin-top:15px;
      margin-bottom:15px;
});
});
谢谢你的帮助

$("#pt_figures").click(function() {

$('#images').empty();

$('#images').css({
paddingLeft: 150,
paddingRight: 0
});
$('#controls').css({
width:700,
marginLeft:150
});
$('#info').css({
width:660,
marginLeft:150
}))

var id=$(this.attr('id')

$(“#info_header”).load(id+“_header.txt”); $(“#content_1”).load(id+“_1.txt”); $(“#content_2”).load(id+“_2.txt”); $(“#content_3”).load(id+“_3.txt”)

$(“”,{src:http://www.klossal.com/figure_front.png“}).附加到(“#图像”);
$("
?使用

$(img)
更改为
$(this)
,应该可以继续了

$(this)
是每个循环中的当前对象

您可能还可以应用
$(“#images>img”).css(…)
,因为我不明白您为什么需要循环所有这些内容。

尝试以下方法:

$("#images img").each(function(){
    $(this).css({
        margin-top:15px;
        margin-bottom:15px;
    });
});

您正在使用$(img),但它没有上下文。请改用$(this)。此外,我还从选择器中删除了>,以防img标记不是DIV的直接后代。

推荐的做法肯定是添加一个定义所需属性的类,而不是直接在jQuery代码中编写CSS

Javascript:

$("#images img").addClass("myClass");
.myClass {
   margin:15px 0;
}
#images img {
   margin:15px 0;
}
CSS:

$("#images img").addClass("myClass");
.myClass {
   margin:15px 0;
}
#images img {
   margin:15px 0;
}
或者,只需在CSS中定义属性,而不使用jQuery

CSS:

$("#images img").addClass("myClass");
.myClass {
   margin:15px 0;
}
#images img {
   margin:15px 0;
}

这也可以在纯css中完成

#images > img { // ">" means direct child, remove it if necesarry
  margin: 15px 0; // shorthand for top/bottom: 15px and right/left: 0px
}

表示直接子对象,这意味着只有属于#images的子对象的图像才会受到影响"如果你想让它们受到影响,请删除

为什么不直接使用CSS?你会如何使用CSS?请参阅下面的答案。刚刚意识到,属性应列为marginTop:15,marginBottom:15,因此图像将被动态添加,并通过CSS进行操作,而这种方式似乎并不可行获取应用。出于好奇,我可以问一下为什么编写类更好吗?此外,图像是动态添加的,通过纯css进行操作似乎出于某种原因没有得到应用,我不知道为什么?在jQuery中直接维护样式表比css容易得多。我似乎记得读过这样的文章,它更适合performance/speed。你能在jsfiddle.net上重新创建这个问题吗?或者提供一个到你网站的链接吗?你知道为什么使用纯css不能处理动态添加的内容吗?在使用javascript添加之后,它必须绑定吗?谢谢,当人们给出这样的解释时,它总是很棒的。我没有意识到>有这样的含义。