2010-10-27 132 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 }); 
相關問題