javascript - 获取两个图像之间的文本

标签 javascript html

是否有更简单的方法来捕获没有相同父元素的两个图像之间的文本? 我正在为网页制作用户脚本。 喜欢:

<div id="content"></div>
     <div style="text-align:center"><img src="" alt=""></div>
     <a>some text</a>
     <img src="" alt="">
     <div style="text-align:left">more text</div>
</div>

如何获取div内容的第一张图片和第二张图片之间的文本。我不知道确切的正确结构,因为文本和图像可能位于 div 或节点内部。我宁愿不使用库

最佳答案

用纯 JavaScript 改进 Mathew 的答案:

var html = document.getElementById('content').cloneNode(true);
var imgs = html.getElementsByTagName('img');
for (i = 0; i < imgs.length; i++) {
    var textSep = document.createTextNode('@img@');
    imgs[i].parentNode.insertBefore(textSep, imgs[i]);
}
var texts = html.textContent;
texts = texts.split('@img@');

关于javascript - 获取两个图像之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26897762/

相关文章:

javascript - 使用 javascript 添加后刷新 document.element

javascript - Angular JS - 如何将选中的输入添加到数组中以及如何在取消选中后删除?

Javascript从带有输入标题的单选按钮获取金额

javascript - 使用 jQuery(AJAX) 获取外部 HTML 文件的列表元素的 ID

javascript - 如何设置我绘制的 fabricjs 文本对象的一部分?

html - CSS:包含文本节点的第一个 child 选择器

javascript - 使用 AJAX 在 jQuery 中插入多个数据

javascript - 更新 chrome 版本 43.0.2357.65 m 后,JQueryMobile 1.3.2 中的弹出窗口失败

javascript - 为什么即使我没有将 vuex 状态绑定(bind)到任何 html 输入元素,我的 vuex 状态也会在更改组件级别状态时发生变化?

html - 当从 phpmailer 打印电子邮件时,gmail 不会应用 css