嗨,我正在尝试获取具有特定类的另一个 HTML 文件中的所有 DIV 的 ID。要加载我使用的文件:
$.get("blocks.html", function(data) {
//here I don't know how :)
});
现在我正在寻找这样的东西:
data.$('.block').each(... the rest is no problem
所以我不在我的页面代码上使用 jQuery 选择器,而是在数据变量的竞争中使用。感谢帮助!
嗨,我正在尝试获取具有特定类的另一个 HTML 文件中的所有 DIV 的 ID。要加载我使用的文件:
$.get("blocks.html", function(data) {
//here I don't know how :)
});
现在我正在寻找这样的东西:
data.$('.block').each(... the rest is no problem
所以我不在我的页面代码上使用 jQuery 选择器,而是在数据变量的竞争中使用。感谢帮助!
$.get("blocks.html", function(data) {
var ids = $('<div/>').html(data).find('div.block').map(function() {
return this.id;
}).get();
});
尝试这个:
$.get("blocks.html", function(data) {
$(data).find('.block').each(function(){...});
});
如果您的“数据 html”包含元素是“.block”,请查看@undefined 的答案
答案实际上取决于从 GET 请求返回的 responseText 的样子。基于此,您必须将其包装或不包装。
如果响应嵌套在父标签内。
响应标记:
<div>
<div id="someId1"></div>
<div id="yourId" class="block"></div>
<div id="someId2"></div>
</div>
JavaScript:
var htmlFiltered = $(html).find('.block');
如果响应没有包含内容的父节点,则需要添加父节点或使用过滤器。
响应标记:
<div id="someId1"></div>
<div id="yourId" class="block"></div>
<div id="someId2"></div>
JavaScript:
var htmlFiltered = $(data).filter('.block');
或者
var htmlFiltered = $("<div/>").html(data).find('.block');
您可以使用map()
or each()
onhtmlFiltered
来获取 ID。
和each()
var ids = [];
htmlFiltered.each( function () {
ids.push(this.id);
});
console.log(ids);
和map()
var ids = $.map(htmlFiltered, function (elem) {
return elem.id;
});
console.log(ids);
尝试:
$.get("blocks.html", function(data) {
$(data).find('.block').each(...
});