2013-02-27 28 views
0

有沒有人知道如何選擇一個特定的元素類。我有一個在html中創建的元素。這個元素有兩個類「n」和「s1」,例如:如何選擇一個特定的類 - jQuery

{<td class="n" class="s1" id=""><img src="gfx/football.png" /></td>} 

然後在jquery中創建另一個元素(它只是一個div)。我想要做的是:當點擊上面的元素(td)時,我想添加同樣的類(類s1)到我的新<div>。我只需要這兩個元素具有相同的類。

的代碼我使用看起來像這樣:

myDIVishere.addClass($(this).attr('class') 

這條線增加了一個類來我的新的div但你可以在上面看到我的$(本) - ><td>有兩類。如何告訴程序我想添加第二類(class =「s1」)而不是第一個。我差點忘了。我有50 <td>元素,所以我不能使用類名。

+0

它會永遠是第二類嗎?還是最後一個?如果元素只有一個類,該怎麼辦? – Andre 2013-02-27 17:49:29

+0

它應該是'class =「n s1」'。我不確定你的語法是否有效。 – Andre 2013-02-27 17:53:10

+0

所有元素都有兩個類。元素1類:p和s1,元素2類:p和s2,元素3類:n和s3等等。我想選擇第二課,而不是兩個或第一個。 – 2013-02-27 17:58:10

回答

1

首先,您必須修復您的標記。

我在Opera和Chrome中測試過,class="foo" class="bar"無效。

它應該是class="foo bar"

此考慮,你可以用下面得到第二類:

var el = $('<a />', { class: 'foo bar' }); 
var classes = el.attr('class').split(' '); 
var secondClass = classes[1]; 

務必加入其他元素之前檢查二等未定義的,因爲這可能會導致意想不到的結果。

+0

他沒有課foo吧。但沒關係。這就是我需要的。最後兩行。謝謝安德烈。 – 2013-02-27 18:26:00

+0

[foo bar](http://en.wikipedia.org/wiki/Foobar)只是名稱的佔位符 – Andre 2013-02-27 18:39:55

0

當你使用該屬性信息來標識一個元素時,你真的應該使用一個ID,這種方式是唯一的。

,如果你不能/不會將它存儲在ID屬性,而不是存儲在s1一類,給它一個獨立和可識別的屬性...所以你可以抓住這樣說:

var specialValue = $('.myElement').attr('special-attribute'); 
$('.someOtherElement').addClass(specialValue); 

但在那裏,使用addClass也是浪費能源。你可以從字面上繼續使用屬性。

相關問題