JQuery:如何在html元素<b></b>中列出单词

JQuery: how to make a list of words in html element <b></b>?

本文关键字:单词 元素 JQuery html      更新时间:2023-09-26

给定一个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演示赞赏,因为与所有未来的读者/用户更相关。

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

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

演示:小提琴

试试这个,

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

演示

编辑:哦,好的,我看到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/