javascript - 根据 <img> 标签拆分 html 页面

标签 javascript jquery html

HTML 页面:

<div id="d"
    <p>one</p>
    <p>two</p>
    <img class="select image" scr="something>
    <p>SPLIT HERE<p>
    <p>end</p>
</div>

伪代码:

var element = $("#d");
  elemnet.split("img").such that =
split_one = <p>one</p><p>two</p>
split_two = <p>split here<p><p>end</p>
split_three = Name of img class i.e = select image

HTML PAGE 可能在一个 div 中包含一个或多个图像类?

最佳答案

使用split()

html = '<div id="d"<p>one</p><p>two</p><img class="select image" scr="something><p>SPLIT HERE<p><p>end</p></div>';
html.split(/<img class="(.*)"\sscr=[^<]+/);

输出:

["<div id="d"<p>one</p><p>two</p>", "select image", "<p>SPLIT HERE<p><p>end</p></div>"]

你也可以使用exec()

matches = /(.*)<img class="(.*)"\sscr=[^<]+(.*)/g.exec(html);

输出:

matches[1] // <- "<div id="d"<p>one</p><p>two</p>"
matches[2] // <- "select image"
matches[3] // <- "<p>SPLIT HERE<p><p>end</p></div>" 

使用replace();如果你想要上面提到的顺序,下面的表达式将重新排序捕获组

html.replace(/(.*)<img class="(.*)"\sscr=[^<]+(.*)/g, "$1|$3|$2").split("|");

输出:

["<div id="d"<p>one</p><p>two</p>", "<p>SPLIT HERE<p><p>end</p></div>", "select image"]

工作 jsBin

关于javascript - 根据 <img> 标签拆分 html 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24885104/

相关文章:

JavaScript - 按数字方式对二维数组进行排序

javascript - Material 用户界面 : How to style filledInput component from an instance of the TextField component?

java - 使用 json 从单选按钮输入显示动态 mysql 表

javascript - 如何以编程方式禁用 HTML 查看源或加密 Html 元素?

javascript - Angular 2选择具有初始值的复杂对象

javascript - 单击时更改按钮的值

jQuery on Hover 在另一个 div 上添加类

javascript - jQuery inside append循环遍历Json数组

javascript - 如何在 JS Typewriter 中停止旋转?

html - 在浏览器中检测 URI 方案支持