这是我的代码:
html
<html>
<body>
<div id="id">
<div class="one">
<img>
</div>
<div class="two">
<img>
</div>
<div class="one">
<img>
</div>
</div>
</body>
</html>
我想仅在div class =“one”中更改图像边距 这是我的jquery代码:
$(document).ready(function() {
$(".one").each(function(){
$("img").css("margin-top", 10 "px");
});
});
此代码最终会更改所有图像边距,...帮助!
答案 0 :(得分:4)
您的选择器$("img")
与所有图像匹配,因此会css
重复应用div.one
,每个$(document).ready(function() {
$(".one img").css("margin-top", "10px");
});
一次。试试这个:
10 "px"
(我也将"10px"
更改为$(".one img")
,但我认为这是问题中的拼写错误。)
img
使用后代选择器来匹配作为类"one"
的元素后代的所有>
元素。
如果您只想匹配直接子项(如示例标记),请改用$(document).ready(function() {
$(".one > img").css("margin-top", "10px");
// ^--- change is here
});
:
{{1}}
有关选择器的更多信息: