Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选择由<;分隔的一系列字符串;br>;班内_Javascript_Jquery - Fatal编程技术网

Javascript 选择由<;分隔的一系列字符串;br>;班内

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

无论如何,我要用Jquery或Javascript获取这些字符串中的每一个搏击俱乐部、33梅因、休斯顿等

 <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
使用class
cart\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);