是否可以使用jQuery(或普通的旧JavaScript)从字符串中获取HTML标记?
var htmltag = "<table><tr><td>sample text</td><td><input type="submit" value="Click"/></td></tr></table>";
输出必须如下:
<input type="submit" value="Click"/>
如何使用jQuery从字符串中获取HTML标记?
答案 0 :(得分:7)
将您的字符串包装在jQuery对象中,然后对其使用任何横向方法。
如果您希望元素为jq对象:
var $input = $(htmltag).find('input');
如果你想要它作为字符串:
var inputHTML = $(htmltag).find('input').prop('outerHTML');
答案 1 :(得分:0)
正如RegEx match open tags except XHTML self-contained tags中的(发布此内容)最高评级答案中提到的 - 使用正则表达式解析HTML通常可能是一个坏主意。该线程有一些有趣的点点滴滴,所以如果你正在考虑使用RegEx解析一些HTML,请继续阅读。讨论了很多案例。
在这个示例中,如果OP确切输入,它确实有效。使用任意HTML片段确实是个坏主意。就像一个例子,考虑在HTML <input type='text' value='this is cool :>' />
中使用这个字段,它会完全破坏解析。 (即使它应该是&amp; gt; ......这是现实世界,不要期望它是一个)。所以要非常小心和体贴你的所作所为。
我原来的回答是:
您可以使用正则表达式来匹配您想要的内容。在这种情况下,它可能如下所示:
htmltag.match("<input .*?>");
结果将是一个仅包含输入标记
的数组