2014-06-15 76 views
0

我有以下的HTML如何找到所有的類id與html值匹配的元素?

<div class="poster-id"> pi-1</div> 

那麼這個HTML

<div class="replies"> 
    <div class=" pi-1">...</div> 
    <div class=" pi-2">...</div> 
    //etc 
</div> 

的投稿者ID是不是每個頁面加載相同,但回覆內容。

我正在嘗試將活動類添加到與海報值匹配的所有回覆。

所以我試圖像

$('.replies').find('.' +$('.poster-id').text()).addClass('active'); 

這不起作用的東西。

這確實工作

$('.replies').find('.pi-1').addClass('active'); 

但投稿者ID必須是一個變量,它,所以我需要使用(「.poster-ID」)。文本(),但無論我嘗試不工作。

Jquery錯了嗎?

感謝所有幫助

回答

1

的問題是,$('.poster-id').text()包括前導空格字符,所以你的選擇變得. pi-1這是你想要的.pi-1不同(IIRC就是無效)。

可能的解決方案是在將文本轉換爲選擇器之前對文本進行.trim();或許更重要的是使用一個屬性,而不是元素內容存儲「對象類別」,例如:

<div id="data-poster-id-holder" data-poster-id="pi-1" /> 

然後

var className = $("#data-poster-id-holder").attr("data-poster-id"); 
$('.replies').find('.' + className).addClass('active'); 
相關問題