如何从原始HTML获取HTML div属性的值?

时间:2017-05-17 08:57:33

标签: javascript jquery html dom

我使用find()。

提取了这个HTML
<div class="merged_doc_list_sub_divs" div_type="pdf_doc" id="1500439">
Warwick University response
<img onclick="remove_doc_div(1500439)" src="/img/close.png" style="width:3%;float:right;cursor:initial;">
</div>

现在我想从这个DIV中提取id,我尝试使用.attr(&#39; id&#39;)但是它给了我一个错误,说attr()不是一个有效的函数,因为HTML是存储在变量中的原始html。

这就是我试过的

var destination_list = $('#merged_document_div').find('div.merged_doc_list_sub_divs');
if (destination_list.length > 0)
{
    for (index in destination_list)
    {
        if (rowData['doc_id'] == destination_list.attr('id'))
        {
            rowData["row_exist"] = true;
        }
    }
}

所以请告诉我该怎么做?

2 个答案:

答案 0 :(得分:2)

直接使用selector来检查元素是否存在

var destination_list = $('#merged_document_div').find('div.merged_doc_list_sub_divs#' + rowData['doc_id']);
rowData["row_exist"] = !!destination_list.length;

然而,由于它的ID是唯一的,只需直接使用ID选择器

rowData["row_exist"] = !!$('#' + rowData['doc_id']).length;

如果您使用ID存储一些任意数据,那么我建议您使用data-*前缀自定义属性

答案 1 :(得分:0)

HI Keyur,

不使用for循环,而是使用每个循环 -

$.each(destination_list, function () {
                if (this.id == rowData['doc_id']) {
                    alert("div found");
                }
            });