我有两组项目,一组是我的jQuery将类视为可点击的项目并抓取id,它对另一组具有不同类但具有相同id的相应项执行任务。 现在我已经让它提醒我这样的身份:
$(".class1").click(function(){
alert(this.id);
});
我是否可以执行以下操作以更改相应项目的高度:
$(".class1").click(function(){
$(".class2".this.id).animate({width:"400px", opacity:1}, 400 );
});
编辑(美国东部时间15:08)
我实际上有两个独立的DIV相互作用。我不知道ID唯一性规则,我可以通过在第二个DIV中使用子类来做同样的事情吗?
<div class="class1">Click Me!</div>
<div class="class2 class1">Stuff happens here</div>
$(".class1").click(function(){
$(".class2 "+this.class).animate({width:"400px", opacity:1}, 400 );
});
答案 0 :(得分:1)
是的,但您的代码中存在语法错误。这是固定的:
$(".class1").click(function(){
$(".class2 #" + this.id).animate({width:"400px", opacity:1}, 400 );
});
从技术上讲,在类的上下文中指定ID是多余的(并且速度较慢!),因为ID是(应该是)唯一的。
$(".class1").click(function(){
$("#" + this.id).animate({width:"400px", opacity:1}, 400 );
});
实际上,您甚至可以从DOM对象中获取jQuery对象:
$(".class1").click(function(){
$(this).animate({width:"400px", opacity:1}, 400 );
});
答案 1 :(得分:0)
元素的ID必须始终在页面上是唯一的。在你的情况下,由于类名是不同的,你可以使用类名并找到元素。试试这个
$(".class1").click(function(){
$(".class2").animate({width:"400px", opacity:1}, 400 );
});
答案 2 :(得分:0)
你没有为两个不同的元素分配相同的ID吗?
如果是这样,你不应该。
如果没有,那么为什么不做$(this).animate({width:"400px", opacity:1}, 400 );