0

以下の div 構造を考えると、各 div.class コンテンツでテキストを取得しようとしています。

最初の 2 つの要素に対してのみ機能し、少し扱いに​​くい next() を使用しています。セレクターを使用してコンテンツの値を取得する方法はありますか (よりエレガントになります)?

ページには多くのホルダー 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 に答える