我已经创建了一个页面,但它只是切换第一个div而另外两个不工作...无法解决原因!提前致谢
var levelopen=false;
$(document).ready(function() {
$('.contentlevel').hide();
$('#levelopener').click(function(){
if(levelopen==false)
{
$('#levelopener').html('[less]');
levelopen=true;
}
else
{
$('#levelopener').html('[more]');
levelopen=false;
}
$(this).next(".contentlevel").slideToggle(100);
return false;
});
});
答案 0 :(得分:3)
这是因为你有几个具有相同id(levelopener
)的元素,id必须是唯一的。使用levelopener
类和选择器.levelopener
作为点击事件。
另外,使用$(this)
来引用当前被点击进行比较的项目,就像您进行切换一样。
答案 1 :(得分:2)
您不能拥有多个具有相同ID的元素,并且在引用调用该方法的对象时应使用this
对象。
var levelopen=false;
$(document).ready(function() {
$('.contentlevel').hide();
$('.levelopener').click(function(){
if(levelopen==false)
{
$(this).html('[-]');
levelopen=true;
}
else
{
$(this).html('[+]');
levelopen=false;
}
$(this).next(".contentlevel").slideToggle(100);
return false;
});
});
var levelopen=false;
$(document).ready(function() {
$('.contentlevel').hide();
$('.levelopener').click(function(){
if($(this).next(".contentlevel").is(":visible"))
$(this).html('[+]');
else
$(this).html('[-]');
$(this).next(".contentlevel").slideToggle(100);
return false;
});
});
答案 2 :(得分:1)
在您的HTML中,您的所有链接都具有相同的ID -pevelopener HTML ID应该是唯一的
答案 3 :(得分:0)
答案 4 :(得分:0)
id
必须是唯一的,因此您的选择器只会抓取第一个。将您的id更改为类并在jQuery中使用类选择器。
$('.levelopener').click(function(){
答案 5 :(得分:0)
答案 6 :(得分:0)
你不能在一个html页面中拥有相同的ID。