0

无论如何,我要使用 Jquery 或 Javascript 来获取这些字符串中的每一个?..“搏击俱乐部”、33 main、休斯顿等

 <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>
4

3 回答 3

1

尝试这个

var elements = document.getElementsByClassName('cart_text2')[0].innerHTML.split('<br>');
console.log(elements);
于 2013-10-23T22:07:00.823 回答
1

选择.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);
}

为了支持IE8,我用.querySelector了instead 。getElementsByClassName


使用.innerHTML将取决于浏览器对br元素的特定 HTML 呈现。遍历 DOM 更安全。


使用 jQuery,您可以这样做:

var result = $(".cart_text2").contents().map(function(i, node) {
    if (node.nodeType === 3)
        return node.data;
}).toArray();
于 2013-10-23T22:05:41.497 回答
0

使用 class获取Nodecart_text2,然后拆分innerHTMLwith<br>并可能进行一些空白修剪

var node = document.getElementsByClassName('cart_text2')[0],
    strs = node.innerHTML.split(/<br\s*\/?>/);

然后说你有String.prototype.trim或一些 polyfill

strs = strs.map(function (e) {return e.trim();});

我在 中使用的RegExpsplit为了涵盖<br><br/><br />

于 2013-10-23T22:04:36.563 回答