3

我希望 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");

$("<img>", { src: "http://www.klossal.com/figures_doc.jpg" }).appendTo("#images"); 
$("<img>", { src: "http://www.klossal.com/figure_front.png" }).appendTo("#images"); 
$("<img>", { src: "http://www.klossal.com/figure_back.jpg" }).appendTo("#images");


$("#images img").addClass("images");

$("#top_section").animate({
    height: 3780
}, 300);
$("#grid").animate({
    marginTop: 3780 + 300,
    paddingBottom: 300
}, 300); 


});
4

6 回答 6

4

采用 $(this)

 $("#images > img").each(function(){
        $(this).css({
          margin-top:15px;
          margin-bottom:15px;
    });
    });
于 2012-11-26T12:11:25.840 回答
2

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

Javascript:

$("#images img").addClass("myClass");

CSS:

.myClass {
   margin:15px 0;
}

或者,只需在 CSS 中定义属性,不要使用 jQuery。

CSS:

#images img {
   margin:15px 0;
}
于 2012-11-26T12:14:00.280 回答
1
$("#images > img").each(function(){
    $(this).css({
      margin-top:15px;
      margin-bottom:15px;
});
});

?

于 2012-11-26T12:11:05.960 回答
1

试试这个:

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

您正在使用 $(img) 但没有上下文。改用 $(this)。如果 IMG 标签不是 DIV 的直接后代,我还从您的选择器中删除了 >。

于 2012-11-26T12:11:39.523 回答
1

这也可以在纯 css 中完成。

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

>表示直接子代,这意味着只有#images 的子代图像会受到影响,“孙子”和进一步不会受到影响。如果您希望他们受到影响,请删除>

于 2012-11-26T12:14:07.487 回答
0

更改$(img)$(this),它应该很好去。

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

您也许也可以申请$("#images > img").css(...),因为我没有直接看到为什么您需要遍历所有这些。

于 2012-11-26T12:11:38.317 回答