Javascript 对于同一类的每个div,做些什么
我有一些和我同班的演员。在这个分区中,我添加了另一个分区来放置广告。 现在我试图隐藏addiv,如果保存addiv的div的宽度等于366px 我尝试了下面的代码,但它只隐藏了我的第一个广告版面 例如:Javascript 对于同一类的每个div,做些什么,javascript,jquery,Javascript,Jquery,我有一些和我同班的演员。在这个分区中,我添加了另一个分区来放置广告。 现在我试图隐藏addiv,如果保存addiv的div的宽度等于366px 我尝试了下面的代码,但它只隐藏了我的第一个广告版面 例如: <div class="masterdiv"> <div id="myaddiv"></div> </div> <div class="masterdiv"> <div id="myaddiv"></div>
<div class="masterdiv">
<div id="myaddiv"></div>
</div>
<div class="masterdiv">
<div id="myaddiv"></div>
</div>
<div class="masterdiv">
<div id="myaddiv"></div>
</div>
谢谢大家! 因为
var adwidth=$(“.masterdiv”).width()代码>仅返回第一个值。答案在你的标题中,你需要使用每一个。另一个问题是ID是单数的,因此需要使用类
使用每个:
$(".masterdiv").each( function() {
var elem = $(this);
var width = elem.width();
if (width == 366){
elem.find('.myaddiv').hide(); //use a class since only one element can have an id
}
});
$(".masterdiv").filter( function() {
return ($(this).width() == 366);
}).find('.myaddiv').hide();
<div class="masterdiv">
<div class="myaddiv"></div>
</div>
使用过滤器:
$(".masterdiv").each( function() {
var elem = $(this);
var width = elem.width();
if (width == 366){
elem.find('.myaddiv').hide(); //use a class since only one element can have an id
}
});
$(".masterdiv").filter( function() {
return ($(this).width() == 366);
}).find('.myaddiv').hide();
<div class="masterdiv">
<div class="myaddiv"></div>
</div>
更新的HTML:
$(".masterdiv").each( function() {
var elem = $(this);
var width = elem.width();
if (width == 366){
elem.find('.myaddiv').hide(); //use a class since only one element can have an id
}
});
$(".masterdiv").filter( function() {
return ($(this).width() == 366);
}).find('.myaddiv').hide();
<div class="masterdiv">
<div class="myaddiv"></div>
</div>
您不应使用重复的ID。请使用:
$('div .masterdiv').each(function(){
if($(this).width()==366){
$(this).find('div').hide();
}});
尝试:
这只是执行第一个div,因为您使用的是id而不是类。由于每页只能有一个id,javascript在匹配第一个id后停止。换个班,你应该没事。你必须这样换:
$(".masterdiv").each(function(){
var current = $(this);
if(current.width() == 366) {
current.hide();
}
});
$('#myaddiv', '.masterdiv').each(function() {
var width = $(this).width();
(width > 366) ? $(this).hide() : 0;
});
您可以试试这个您正在为不同的div使用相同的id
指定类名而不是id
<div class="masterdiv">
<div class="myaddiv">
</div>
</div>
<div class="masterdiv">
<div class="myaddiv">
</div>
</div>
<div class="masterdiv">
<div class="myaddiv">
</div>
</div>
$(document).ready(function () {
var adwidth = $(".masterdiv");
for (i = 0; i < adwidth.length; i++) {
if ($(adwidth[0]).attr("width") == 366) {
$(this).find('.myaddiv').hide()
}
}
});
$(文档).ready(函数(){
var adwidth=$(“.masterdiv”);
对于(i=0;i
您还有多个id
。它们必须是唯一的,也必须是唯一的。否则您可以使用类名。请举例说明?非常感谢。我尝试了这个$('.masterdiv').each(function(){my rest code};倒霉