0

给定一个带有以下元素的 HTML DOM 元素b

<div>
  My <b>text</b> have some <b>words</b> or <b>groups of words</b> in <b>bold</b>. How to do a variable <b>list</b> with these texts ?
</div>

鉴于我们使用 JS 或 JQuery 来攻击它。

如何获取所有粗体字的列表,例如:

var list = [ "text", "have some ", "words", "groups of words", "in","bold", "list" ,...];

我试过了.text().html()但它不起作用,请参阅http://jsfiddle.net/LF5dX/1/

JSfiddle 演示欣赏,因为对所有未来的读者/用户更相关。

4

3 回答 3

5

您可以将.map().text().get()一起使用

var list = $('div b').map(function(){
    return $.trim($(this).text());
}).get()

演示:小提琴

于 2013-11-03T15:24:24.417 回答
2

尝试这个,

var arr=[];
$('div b').each(function(){
    arr.push($(this).text());
});
console.log(arr);

演示

于 2013-11-03T15:28:20.173 回答
0

编辑:哦,好的,我看到 OP 已经编辑了答案,所以这个答案不再是主题。不过还是放在这里吧。

不知道你会如何在 jQuery 中做到这一点,但这里是如何在纯 JavaScript 中做到这一点:

var div = document.getElementsByTagName('div')[0];
var textContents = [].map.call(div.childNodes, function(node) {
    return node.textContent.trim();
});
console.log(textContents);

http://jsfiddle.net/RGaQp/1/

于 2013-11-03T15:40:30.173 回答