Javascript 如何从字符串中拆分HTML代码
我有html代码的字符串值。像下面Javascript 如何从字符串中拆分HTML代码,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我有html代码的字符串值。像下面 var stringData = "My name is khan <ul><li>welo</li><li>sdlld</li><li>ssal</li><li>asalas</li> <li>aslaS</li></ul> to <ul><li>welo</li>
var stringData = "My name is khan <ul><li>welo</li><li>sdlld</li><li>ssal</li><li>asalas</li> <li>aslaS</li></ul> to <ul><li>welo</li><li>sdlld</li><li>ssal</li><li>asalas</li><li>aslaS</li></ul><ol><li>HI BOY </li><li>WWF</li></ol>."
我想单独从字符串中提取HTML代码
var htmlCode = <ul><li>welo</li><li>sdlld</li><li>ssal</li><li>asalas</li><li>aslaS</li></ul> to <ul><li>welo</li><li>sdlld</li><li>ssal</li><li>asalas</li><li>aslaS</li></ul><ol><li>HI BOY </li><li>WWF</li></ol>.
注意:在字符串中,我的名字是khan,这是动态内容,所以我们将使用其他文本来代替我的名字是khan
Ex: " Hi how are <ul><li>welo</li><li>sdlld</li><li>ssal</li><li>asalas</li><li>aslaS</li></ul> to <ul><li>welo</li><li>sdlld</li><li>ssal</li><li>asalas</li><li>aslaS</li></ul><ol><li>HI BOY </li><li>WWF</li></ol>."
因此,我们不应使用khan分割或spacesplit“”。请给出上述问题的解决方案您可以从的第一个索引中获取子字符串,如何从第一个开始获取子字符串如果您确定您的标记是开放式和有效的,并且在一行中,您可以使用
stringData.match(/(<.*>).$/)[1]
您可以使用jQuery的.children方法,该方法将省去任何文本节点:
var stringData=我的名字是khan Welosdllssalasalas aslaS to Welosdllssalaslashi BOY WWF。;
var htmlOnly=$.html$.html stringData.children.html;
//仅演示
$'.before'.text stringData;
$'.after'.text html;
之前:
之后:使用包HTMLAgilityPack 它用于根据标签提取值
var htmlCode = $.grep($.parseHTML(stringData), function(html) {
return html.nodeType !== 3
});
var stringData=我的名字是khan Welosdllssalasalas aslaS to Welosdllssalaslashi BOY WWF。;
var htmlCode=$.grep$.parseHTMLstringData,functionhtml{
返回html.nodeType!==3
};
$body.appendhtmlCode
是否要在不使用字符串的情况下将html代码放入变量中?是否需要字符串。在html代码的末尾?您的html代码内容是否相同?因为如果是的话,你可以抓住标签和后面的一切
var stringData = "var stringData = "My name is khan <ul><li>welo</li><li>sdlld</li><li>ssal</li>....";
var n = stringData.indexOf("<ul>");
if (n !== -1) {
var htmlString = stringData.substring(n, stringData.length)
}
stringData.match(/(<.*>).$/)[1]
var htmlCode = $.grep($.parseHTML(stringData), function(html) {
return html.nodeType !== 3
});