0

鉴于下面的 div 结构,我试图获取每个 div.class 内容中的文本。

我一直在使用 next() ,它只适用于前 2 个元素并且有点笨拙。有没有办法可以使用选择器获取内容值(会更优雅)?

因为页面上有很多持有人 div,所以我需要使用相对于每个持有人 div 的选择器。

谢谢,

$(".holder").each(function() {
var image = $(this).next().text();  //get value   
var title = $(this).next().next().text(); //gets value
} 

<div class="holder">
    <div class="field-image">
        <div class="content">content</div>  
    </div>
    <div class="field-title">
        <div class="content">content</div>  
    </div>
    <div class="field-location">
         <div class="content">content</div>  
    </div> 
   <div class="field-sector">
         <div class="content">content</div> 
   </div>
</div>
4

2 回答 2

1

看来您只需要获取每个孩子(或每个孩子的.content元素)的文本内容:

$('.holder').each(function() {
    var texts = {};
    $(this).children().each(function() {
        // Assuming each child has only one class
        texts[this.className.replace(/^field-/, '')] = 
            $(this).find('.content').text();
    });

    // now do something with e.g. texts.image, texts.title, etc.
});
于 2013-01-26T21:57:21.220 回答
0
$(".holder").each(function() {
  $(this).find('div[class*=field]').each(function() {
    var $image = $(this);
    var $content = $image.find('div.content');
    var text = $content.text();
  });
});
于 2013-01-26T21:57:24.133 回答