所有匹配元素的jQuery .html()

Prz*_*mek 24 javascript jquery

.html()类selector($('.class').html())上的函数仅适用于匹配它的第一个元素.我想用class获得所有元素的值.class.

Sam*_*ich 24

您将选择所有带有类的元素,.class但要收集所有需要的所有html内容,以便遍历所有这些内容:

var fullHtml;

$('.class').each(function() {
   fullHtml += $(this).html();
});
Run Code Online (Sandbox Code Playgroud)

通过其中的containsig文本搜索项目:

$('.class:contains("My Something to search")').each(function() {
   // do somethign with that
});
Run Code Online (Sandbox Code Playgroud)

代码:http://jsfiddle.net/CC2rL/1/

  • 像第二个样本中的东西? (2认同)

iam*_*eed 11

我更喜欢一个班轮:

var fullHtml = $( '<div/>' ).append( $('.class').clone() ).html();
Run Code Online (Sandbox Code Playgroud)


Geo*_*rge 5

您可以将html()过滤后的 jQuery 选择中的每个元素的映射到数组,然后加入结果:

           //Make selection
var html = $('.class')
          //Filter the selection, returning only those whose HTML contains string 
          .filter(function(){
              return this.innerHTML.indexOf("String to search for") > -1
          })
          //Map innerHTML to jQuery object
          .map(function(){ return this.innerHTML; })
          //Convert jQuery object to array
          .get()
          //Join strings together on an empty string
          .join("");
Run Code Online (Sandbox Code Playgroud)

文档:


luk*_*uky 5

$('.class').toArray().map((v) => $(v).html())
Run Code Online (Sandbox Code Playgroud)

  • 仅代码答案被认为是低质量的,请务必提供代码的作用以及它如何解决问题的解释。 (3认同)