2014-03-28 28 views
0

我的問題是:我有一個html字符串,這也是在網頁上。Selcet html元素從頁面通過htmlstring使用jquery

現在我想這個html字符串應該作爲jQuery的選擇器。

這裏是文檔HTML

<body> 
    <p>asdf</p> 
    <p>ghjk</p> 
</body> 

現在我們有一個字符串

'<p><asdf</p>' 

現在

$('<p><asdf</p>').css("border",'1px solid red') 

應該閱讀文檔段落邊框。

任何幫助將不勝感激!

fidlle:http://jsfiddle.net/eJxDb/2/

+0

我認爲你需要的[包含選擇(https://api.jquery.com/contains-selector/):'$(」 p:包含(asdf)')。css(「border」,'1px solid red')' – Pete

+0

我嘗試過contians選擇器,但它不適用於呈現文檔。 – developerCK

+0

這個問題沒有任何意義。 – Jai

回答

1

您可以使用parseHTML和HTML( )JQuery的功能:

例:

http://jsfiddle.net/N6s8F/1/

的JavaScript:

var obj = "<p>asdf</p>" 
selector = $.parseHTML(obj)[0].nodeName; 
text = $(obj).html(); 
console.log(text); 
$(selector).each(function(index) { 
console.log($(this).html()); 
console.log(text); 
if ($(this).html() == text) { 
    $(this).css('border','1px solid red'); 
    } 
}); 
+0

我們可以優化嗎? – developerCK

+0

也許,您可以刪除控制檯日誌:D,並且您將只有4行代碼。之後,我沒有看到任何優化適用。 – MarOnii

+0

其實我正在比較,收集和循環。 – developerCK

0

給該段ID和選擇它通過ID是這樣的:

<p id="myID"><asdf</p> 

和你的jQuery:

('#myID').css("border",'1px solid red'); 
+0

這是非常動態的,結果並不是特別的! – developerCK