我使用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;
}
}
}
所以请告诉我该怎么做?
答案 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");
}
});