Javascript 除去文本和特定属性值之外的HTML条带
假设我有以下代码:Javascript 除去文本和特定属性值之外的HTML条带,javascript,html,regex,Javascript,Html,Regex,假设我有以下代码: <div class="set"> <span data-prefix="[1]">Duck</span> <span data-prefix="[2]">Dog</span> <span data-prefix="[3]">Cat</span> </div> 我不知道该怎么做,我该怎么做?不要使用。在这种情况下,您可以简单地使用JavaScript 使用
<div class="set">
<span data-prefix="[1]">Duck</span>
<span data-prefix="[2]">Dog</span>
<span data-prefix="[3]">Cat</span>
</div>
我不知道该怎么做,我该怎么做?不要使用。在这种情况下,您可以简单地使用JavaScript
使用data prefix
属性迭代元素,并使用dataset.prefix
访问属性值。然后将其与textContent
属性值连接起来:
var elements = document.querySelectorAll('.set > [data-prefix]'),
result = '';
for (var i = 0; i < elements.length; i++) {
result += elements[i].dataset.prefix + elements[i].textContent;
}
console.log(result); // [1]Duck[2]Dog[3]Cat
但是,我的跨距没有数据前缀属性。我怎样才能将这些包含在结果中
此代码选择父div.set
中的所有span
,获取其属性数据前缀
,如果它在那里,它将输出它,否则它将输出[-]
var divspan=document.querySelectorAll('.set>span');
对于(var i=0;i
鸭子
狗
猫
猎鹰
鹦鹉
//使用data-X获取所有dom节点
var nodes=document.queryselectoral(“[数据前缀]”),
值=[];
对于(var i=0;i
现在,您有了一个包含所有所需值的n数组 为什么需要regExp?你不能用JS做吗?当然,我怎么能用JS做呢?你…+1用正则表达式链接解析HTML。这就是当任何一个看到有人试图这么做的SO浏览器出现在脑海中的时候看起来不错,但是我的跨距没有数据前缀属性。我怎样才能把这些也包括在结果中?(几乎只是一个带字母的空格)
var elements = document.querySelectorAll('.set > [data-prefix]'),
result = '';
for (var i = 0; i < elements.length; i++) {
result += elements[i].dataset.prefix + elements[i].textContent;
}
console.log(result); // [1]Duck[2]Dog[3]Cat
/(?:<span data-prefix="([^"]+)">([^<]+)<\/span>)+/g
1) ([1])(Duck)
2) ([2])(Dog)
3) ([3])(Cat)
// Get all the dom nodes with the data-X
var nodes = document.querySelectorAll('[data-prefix]'),
values = [];
for (var i = 0; i < nodes.length; i++) {
values.push(nodes[i].dataset.prefix + nodes.textContent);
}