簡體   English   中英

在jQuery中查詢字符串以查找元素

[英]Querying a string for an element in jQuery

我有一個ajax請求,將POST的文本發送到另一個PHP頁面,該頁面將其呈現為markdown並將其發送回去。 一個示例如下所示:

"<p>Meep, meep, <em>meep!!!</em></p>
<pre><code class="language-javascript">var foo = "bar";</code></pre>"

現在,如果我想使用選擇器pre code查找所有元素,該怎么辦? 我嘗試了$(text).find("pre code")但沒有返回結果。 有什么問題,如何正確解決?

您可以像這樣使用.parseHTML()

$('<output>').append($.parseHTML(str)).find('pre code')

 var str = '<p>Meep, meep, <em>meep!!!</em></p>\\ <pre><code class="language-javascript">var foo = "bar"\\ ;</code></pre>'; alert($('<output>').append($.parseHTML(str)).find('pre code').html()); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

原來的答案是.filter()

原始問題中使用的文本表示為jQuery的根區域-因此必須使用.filter() -它返回所有已過濾元素的列表。 在此.find() ,我不得不使用.find()並獲得了預期的結果。

我需要在返回的輸出上運行hightlight.js ,如下所示:

$html = $(data);
$html.filter("pre").find("code").each(function(i, block) {
    hljs.highlightBlock(block);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM