當使用jQuery動態地構建標記時,讓它返回它以字符串形式生成的實際HTML,而不是一堆jQuery對象有時會變得很有用。有沒有辦法做到這一點?例如,在這裏:有沒有辦法讓jQuery輸出*實際標記*?
$("<strong></strong>").text("Hi there!");
我希望能夠提取純文本字符串
"<strong>Hi there!</strong>"
,這樣我可以遠程緩存它。有沒有辦法做到這一點?
當使用jQuery動態地構建標記時,讓它返回它以字符串形式生成的實際HTML,而不是一堆jQuery對象有時會變得很有用。有沒有辦法做到這一點?例如,在這裏:有沒有辦法讓jQuery輸出*實際標記*?
$("<strong></strong>").text("Hi there!");
我希望能夠提取純文本字符串
"<strong>Hi there!</strong>"
,這樣我可以遠程緩存它。有沒有辦法做到這一點?
只需調用.html()從任何元素(包括生成的元素)獲取HTML。這是來自Chrome開發者工具會話:
> $("<div><span>blerg</span></div>")
Object
> $("<div><span>blerg</span></div>").html()
<span>blerg</span>
您可以看到,第一個返回了一個對象,第二個返回了文本。
您可以使用externalHTML插件。 Here is one:
jQuery.fn.outerHTML = function(s) {
return (s)
? this.before(s).remove()
: jQuery("<p>").append(this.eq(0).clone()).html();
}
用法:
alert($("<strong></strong>").text("foo").outerHTML());
// alerts <strong>foo</strong>
是的,你可以使用HTML()函數
即
$("").text("Hi There!").html();
會返回!您好「
請記住,這使用的innerHTML,所以
$("<div><b>Foo</b></div>").html();
將返回
<b>Foo</b>
當你需要換你的代碼在周圍股利或跨度的結果。