代码:
<div id="start">
<p>"hi split html string"<p><br>"now"
<img class="image1" src="some src" master_src="some src" master_w="400" master_h="320">
"second tag is coming"<br><img class="image2" src="some src" master_src="some src" master_w="400" master_h="320"><h1>end here</h1>
</div>
输出:
<p>"hi split html string"<p><br>"now" , "second tag is coming"<br> , <h1>end here</h1>
我如何实现这一目标?什么可以是正则表达式这个图像类,以便使用拆分功能(或任何更好的方式)?请给我一个演示
答案 0 :(得分:1)
我不完全确定我理解您的最终目标,但如果您想从HTML中删除图片,则可以使用DOM。首先创建一个虚拟元素并将其innerHTML
设置为HTML字符串:
var dummy = document.createElement('div')
dummy.innerHTML = html
现在你有一个div包含你的HTML结构作为DOM元素。但是,你想要的是你的div,而不是假的:
var div = dummy.children[0]
然后循环孩子,检查它是否是图像并删除它,如果是这样的话:
for (var i=0; i<div.children.length; i++) {
var child = div.children[i]
if (child.tagName == 'IMG') {
div.removeChild(child)
}
}
您可以将div附加到DOM:
document.body.appendChild(div)
或者您可以将HTML作为字符串取回而不使用图像:
div.innerHTML
//^ <p>"hi split html string"</p><br>"now""second tag is coming"<br><h1>end here</h1>
另请注意,您的HTML无效,您没有使用</p>
关闭该段落,因此如果上述内容无效,则上述内容无效。
答案 1 :(得分:1)
为什么你多次问同一个问题?
这是你回答
$('#start').find('img').each(function(index){
var split_text = $(this).html().split(/<img[^>]*>/)[index];
alert(split_text)
});