簡體   English   中英

在javascript中將字符串解析為html

[英]Parse string as a html in javascript

我有一個 HTML 標簽,因為字符串來自控制器..我需要在 html 中解析它..代碼就像,

var str = '<span id="c.s.y"></span> Y <span id="c.s.m"></span> M';
var parsed = $.parseHTML(str);

這將字符串解析為 html.. 但我必須在每個單獨的標簽之前附加一些文本..我將每個標簽獲取為,

$.each( parsed , function( i, el ) { console.log("asd" + el + "asd"); });

我無法在每個標簽中附加文本,它顯示[object HTMLSpanElement] [object Text] .. 如何在此處附加文本.. 我希望輸出為asd <span id="csy"></span> asd asd Y asd asd <span id="csm"></span> asd asd N asd

對於 HTML 元素,您可以使用outerHTML屬性

$.each(parsed, function(i, el) {
var $el = $(el);
if ($el.prop('outerHTML'))
    console.log("asd" + $el.prop('outerHTML') + "asd"); 
else
    console.log("asd" + $el.text() + "asd");
});

要使您的 html 成為您可以使用的內容,請使用以下命令:

$("<div/>").html(txt);

例如,在您的情況下:

var str = '<span id="c.s.y"></span> Y <span id="c.s.m"></span> M';
var parsed = $("<div/>").html(str);

然后,您將“解析”為“普通”jquery 對象,您可以根據需要對其進行操作,例如:

parsed.find("*").wrap("<span>");
parsed.contents().wrap("<span>");
$("#myid").append(parsed);

由於.wrap()應用標簽,在您的情況下,您需要使用.append.prepend ,例如:

parsed.find("*").andSelf().append(" asd ").prepend(" asd ");

暫無
暫無

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

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