Javascript 选择由<;分隔的一系列字符串;br>;班内
无论如何,我要用Jquery或Javascript获取这些字符串中的每一个搏击俱乐部、33梅因、休斯顿等Javascript 选择由<;分隔的一系列字符串;br>;班内,javascript,jquery,Javascript,Jquery,无论如何,我要用Jquery或Javascript获取这些字符串中的每一个搏击俱乐部、33梅因、休斯顿等 <span class="cart_text2"> Fight Club <br> 33 main, <br> houston, <br> TX US <br> Phone Number: 777-888-9999 <br> Ema
<span class="cart_text2">
Fight Club
<br>
33 main,
<br>
houston,
<br>
TX US
<br>
Phone Number: 777-888-9999
<br>
Email: abc@test.com
</span>
搏击俱乐部
33主要,
休斯顿,
德克萨斯州
电话号码:777-888-9999
电邮:abc@test.com
使用classcart\u text2
获取节点,然后使用
拆分内部HTML
,并可能进行一些空格修剪
var node = document.getElementsByClassName('cart_text2')[0],
strs = node.innerHTML.split(/<br\s*\/?>/);
我在
拆分中使用的RegExp是为了涵盖
、
和
的可能实例,选择父节点的.childNodes
,并迭代集合。文本节点的.nodeType
为3
。然后使用.data
属性从节点获取文本
var elems = document.querySelector(".cart_text2").childNodes;
var result = [];
for (var i = 0, len = elems.length; i < len; i++) {
if (elems[i].nodeType === 3)
result.push(elems[i].data);
}
试试这个
var elements = document.getElementsByClassName('cart_text2')[0].innerHTML.split('<br>');
console.log(elements);
var elements=document.getElementsByClassName('cart_text2')[0].innerHTML.split('
');
控制台日志(元素);
如果可能,更改标记肯定更有效?我同意@user319940的观点,实现更好的标记是目前为止最好的解决方案,因为这样你的HTML就可以描述数据了。
var result = $(".cart_text2").contents().map(function(i, node) {
if (node.nodeType === 3)
return node.data;
}).toArray();
var elements = document.getElementsByClassName('cart_text2')[0].innerHTML.split('<br>');
console.log(elements);