javascript - 如何提取不包含文本的 HTML 标签

标签 javascript jquery html

如何只提取带有属性但没有文本的标签?

来源:

<div style='some style' id='some id'>
some text
</div>
<a href='some url'>some link</a>
<img src='some url' />

结果:

"<div style='some style' id='some id'> </div> <a href='some url'> </a> <img src='some url' />"

最佳答案

试试这个:

sample = $("<div><div style='some style' id='some id'>some text</div><a href='some url'>some link</a><img src='some url' /></div>");
output = removeText(sample);

function removeText(node){
    node = $(node);
    $.each( node.contents(), function(){
        if(this.nodeType == 3) {
            this.parentNode.removeChild(this);
        }else {
            removeText(this);
        }

    });
    return node;
} 

输出:

<div><div style="some style" id="some id"></div><a href="some url"></a><img src="some url"></div>

关于javascript - 如何提取不包含文本的 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34869490/

相关文章:

javascript - 使用 javascript 将文件直接下载到特定位置

javascript - Owlcarousel 2 在初始化后更改设置

javascript - 在 javascript codeigniter php 中使用 ajax 成功函数获取数据时,如何禁用页面重新加载?

javascript - 根据用户输入隐藏/显示 HTML 页面的部分内容

java - Three.js:如何将场景转换为 MPG4 视频?

javascript - mongodb正则表达式参数

javascript - 如果源发生更改,则仅在加载时才显示新图像

javascript - 使用此事件获取 html 元素的宽度

html - 具有 HTML 布局格式的 QMessageBox

html - 以相等的边距居中 div。底部边距不适用于高度 100vh?