如何在具有相同id属性的所有元素上应用jquery?
我想在focus()
具有相同ID的元素上应用blur()
和textarea
函数吗?
答案 0 :(得分:18)
正确的答案是
$("[id=yourID]").doSomething()
用于任何代码,如
<textarea id="yourID" />
<img id="yourID" />
<div id="yourID" />
是的,我知道,这不是有效的HTML,但请注意我们中产阶级开发人员经常不得不处理“更好”的开发人员所犯的问题。 以Microsoft SharePoint为例,其中多个ID非常常见。我们无法告诉客户微软做得不好,所以我们无法帮助他们。我们告诉他们微软做得不好所以我们必须帮助他们; - )
答案 1 :(得分:14)
首先,您不应该有多个具有相同ID
的元素。
但是,您可以使用CSS类来执行此操作:
<div>
<textarea class="Text"></textarea>
<textarea class="Text"></textarea>
<textarea class="Text"></textarea>
</div>
<script>
$(".Text").focus();
$(".Text").blur();
</script>
答案 2 :(得分:2)
你不能拥有多个具有相同ID的元素,你应该使用类,然后像这样访问它们。
$(".classname").focus()
如果你想专注于一个ID使用
$("#idname").focus()
答案 3 :(得分:1)
最好不要在同一页面上对2个元素使用相同的id。设置textarea节点的其他形式可以是
$('textarea').blur() // note it sets all textarea elements on the page
或
$('#content textarea, #comment-area textarea').blur()
或者如果为这些textarea节点创建一个类,也可以使用它。
答案 4 :(得分:0)
您不能/不应该有多个具有相同ID的元素。您可以使用类选择器,但我肯定会首先解决ID问题。
答案 5 :(得分:0)
你不能拥有多个具有相同id的元素,不仅它是无效的html,而且如果你用jquery对它进行了追踪,它只会影响第一个。你应该使用一个类
$('.class_name').blur();
答案 6 :(得分:0)
如果你想使用`$(&#34; #yourID&#34;),这很简单。click(function(){});
答案 7 :(得分:0)
使用jQuery委托
语法
jQuery('body').delegate("#your-id","click",function(e){ // do code here });