如何使用jQuery从给定HTML元素下的给定类的所有元素中提取文本

时间:2015-04-28 23:44:42

标签: javascript jquery html

当我这样做时:

var elem = $(".region_box");
text = elem.find(".my_text").html();

我可以使用它找到的类“my_text”从“elem”下面的第一个元素中获取文本。

但是元素下面的类“actual_text”有很多元素,我想要结合所有这些元素的文本。我该怎么办? 我是jQuery的新手,我长时间寻找解决方案,但他们都没有为我工作。也许我正在错误地使用this each()函数。我非常感谢任何帮助。

3 个答案:

答案 0 :(得分:3)

您可以使用jQuery.each

var text = '';

var elms = $(".region_box .my_text").each(function () {
    text = text + $(this).text(); // use .html() if you actually want the html
});

答案 1 :(得分:2)

定义一个变量来保存新字符串,选择要提取的所有元素,使用.each()链接该元素,并将该元素的文本节点内容添加到您创建的变量中以保存新字符串。

Demo

var text = "";
$(".region_box .my_text").each(function(){ text += " " + $(this).text(); });

答案 2 :(得分:1)

尝试使用jquery .map() method这样的内容,

text = $('.region_box').find('.my_text').map(function() {
  return $(this).text();
}).get().join(',');

正如网站所说,“由于返回值是一个包含数组的jQuery对象,因此在结果上调用.get()以使用基本数组是很常见的。”