2010-10-27 78 views

回答

14

首先,你不应该有一个以上的元素具有相同ID

但是,你可以用CSS类做到这一点:

<div> 
<textarea class="Text"></textarea> 
<textarea class="Text"></textarea> 
<textarea class="Text"></textarea> 
</div> 

<script> 
    $(".Text").focus(); 
    $(".Text").blur(); 
</script> 
2

你不能有多个具有相同ID的元素,你应该使用类,然后像这样访问它们。

$(".classname").focus() 

如果你想专注于一个单一的ID使用

$("#idname").focus() 
0

你不能/不应该有相同ID的多个元素。你可以使用类选择器,但我肯定会先解决这个ID问题。

0

你不能有多个具有相同ID的元素不仅是无效的HTML,但如果你使用jquery进行了它的追踪,它只会影响第一个。你应该使用一个类

$('.class_name').blur(); 
1

最好不要在同一页上为2个元素使用相同的id。那台textarea的节点其它形式可以是

$('textarea').blur() // note it sets all textarea elements on the page 

$('#content textarea, #comment-area textarea').blur() 

,或者如果你对这些文本区域节点创建一个类,你可以使用了。

+0

问题解决。谢谢各位 – 2010-10-27 16:56:55

17

正确的答案是

$("[id=yourID]").doSomething() 

<textarea id="yourID" /> 
<img id="yourID" /> 
<div id="yourID" /> 

任何代码是的,我知道,这不是有效的HTML,但请注意,我们的中产阶级开发人员经常要处理开发者提出的问题“更好”。 查看Microsoft SharePoint,例如,多个ID非常常见。我们不能告诉我们的客户,微软做得很差,所以我们无法帮助他们。我们告诉他们微软做得很差,所以我们必须帮助他们;-)

+1

谢谢。这是我正在寻找的。 – 2014-05-17 16:06:10

0

这很简单,如果你想使用`$(“#yourID”)。click(function(){});

0

使用jQuery代表

语法

jQuery('body').delegate("#your-id","click",function(e){ // do code here }); 
相关问题