0

我正在尝试从一系列动态 div 中获取值以写入数据库。

我的 div 的 html 如下....

<div class='doc_holder_list'>
<p class='right'> (Delete [<a href='javascript:void(0);' class='appended'>X</a>])</p>
<p><span class='red2' data-file_id='10'>File 10</span></p>
<p class='file_desc1a'>File Description 10</p>
<p class='file_ins1a'>File Notes 7</p>
</div>
<div class='doc_holder_list'>
<p class='right'> (Delete [<a href='javascript:void(0);' class='appended'>X</a>])</p>
<p><span class='red2' data-file_id='34'>File 7</span></p>
<p class='file_desc1a'>File Description 7</p>
<p class='file_ins1a'>File Notes 7</p>
</div> etc....

我的 JQuery 失败了...

$.each($('.doc_holder_list'),function(){
            var get_file_id=$('.red2').data('file_id');
            get_files+=get_file_id+"|";
            alert(get_files);
        });

目前这试图只返回数据属性中的文件ID。最终,我还想为 doc_holder_list div 的每个实例拖出描述。

4

1 回答 1

1

您需要在每个级别本地化您的搜索,$('.red')将搜索并找到.red您页面上的所有内容,这不是您当时想要的 - 您想要找到.redinside .doc_holder_list

(请注意,以下两种方法可能仅在您还实施我关于使用$('').each()而不是下面的建议时才有效$.each()

/// this allows you to search within an existing jQuery selection
/// as you are within an each() "this" will refer to .doc_holder_list
get_file_id=$(this).find('.red2')

或者

/// this defines the 'context' of where your jQuery search will occur
/// as you are within an each() "this" will refer to .doc_holder_list
get_file_id=$('.red2', this)

以上任何一个都应该解决你的问题......

此外,而不是:

$.each($('.doc_holder_list'),function(){

写起来会更干净:

$('.doc_holder_list').each(function(){
  ....
});
于 2012-09-15T09:53:08.163 回答