Javascript 如何在Jquery中从HTMLDOM获取属性?

Javascript 如何在Jquery中从HTMLDOM获取属性?,javascript,jquery,html,ajax,dom,Javascript,Jquery,Html,Ajax,Dom,我有一个HTML DOM保存在JavaScript变量中,我可以如何获取它的属性。 经验: //html元素是ajax响应 var element_html=‘Heading’; var id=“标题2\u 48”; var数据顺序=“10” 如何获取这些id和数据顺序尝试jQuery解决方案: $(element_html).attr("id"); $(element_html).attr("data-order"); var d=document.createElement("div"

我有一个HTML DOM保存在JavaScript变量中,我可以如何获取它的属性。 经验:


//html元素是ajax响应
var element_html=‘Heading’;
var id=“标题2\u 48”;
var数据顺序=“10”

如何获取这些id数据顺序

尝试jQuery解决方案:

$(element_html).attr("id");
$(element_html).attr("data-order");
var d=document.createElement("div");
d.innerHTML = (element_html);
var attrs = d.firstChild.attributes;
var element_html_id  = attrs["id"];
var element_html_data_order = attrs["data-order"];
下一个对于性能来说甚至更好,因为它只创建了一个jQuery对象:

var jWrapper = $(element_html);
var element_html_id = jWrapper.attr("id");
var element_html_data_order = jWrapper.attr("data-order");
或者您可以尝试香草JavaScript解决方案:

$(element_html).attr("id");
$(element_html).attr("data-order");
var d=document.createElement("div");
d.innerHTML = (element_html);
var attrs = d.firstChild.attributes;
var element_html_id  = attrs["id"];
var element_html_data_order = attrs["data-order"];

(JSFiddle:)

试试jQuery解决方案:

$(element_html).attr("id");
$(element_html).attr("data-order");
var d=document.createElement("div");
d.innerHTML = (element_html);
var attrs = d.firstChild.attributes;
var element_html_id  = attrs["id"];
var element_html_data_order = attrs["data-order"];
下一个对于性能来说甚至更好,因为它只创建了一个jQuery对象:

var jWrapper = $(element_html);
var element_html_id = jWrapper.attr("id");
var element_html_data_order = jWrapper.attr("data-order");
或者您可以尝试香草JavaScript解决方案:

$(element_html).attr("id");
$(element_html).attr("data-order");
var d=document.createElement("div");
d.innerHTML = (element_html);
var attrs = d.firstChild.attributes;
var element_html_id  = attrs["id"];
var element_html_data_order = attrs["data-order"];

(JSFiddle:)

将元素包装到Jquery对象中

var val = $(element_html).attr("id");

将元素包装到Jquery对象中

var val = $(element_html).attr("id");
var元素_html='Heading';
log($(element_html).filter('h1').attr('id'));
log($(element_html).filter('h1').attr('data-order'));

作品;)

var元素_html='Heading';
log($(element_html).filter('h1').attr('id'));
log($(element_html).filter('h1').attr('data-order'));

作品;)

更新如下:

在上面的代码中,
find
将不起作用,理解这一点是我的错误

$(element_html).prop('id');
$(element_html).prop('data-order');
多亏了“烤”的暗示

更新如下:

在上面的代码中,
find
将不起作用,理解这一点是我的错误

$(element_html).prop('id');
$(element_html).prop('data-order');
多亏了“烤”的提示。

试试这个

$(element_html).find('h1').attr('id');
$(element_html).find('h1').data('order');
您还可以使用类名
app control
而不是
h1
进行筛选。您还可以使用
filter
而不是
find

$(element_html).filter('h1').attr('id');
$(element_html).filter('h1').data('order');
像这样试试

$(element_html).find('h1').attr('id');
$(element_html).find('h1').data('order');
您还可以使用类名
app control
而不是
h1
进行筛选。您还可以使用
filter
而不是
find

$(element_html).filter('h1').attr('id');
$(element_html).filter('h1').data('order');

将其包装在jquery对象中,只有在附加到某个元素时才能访问该对象。或者在jquery对象中包装将其包装在jquery对象中,只有在附加到某个元素时才能访问该对象。或者用jquery包装object@roasted ... 是的,根据你的评论,我编辑了它并贴了一张小提琴,所以它works@roasted ... 是的,根据你的评论,我对它进行了编辑并贴了一张提琴,这样就可以了。谢谢老板,我从你的回答中得到了另一个好主意;谢谢你的建议,我已经编辑了我的ans…我想find也会有用的谢谢老板,我从你的回答中得到了另一个好主意。数据(“订单”);我已经编辑了我的ans…我想find也会的work@roasted:我可以知道原因吗?因为.find()正在查找子体,这里的h1不是包装对象的子体:要使用.find(),您需要这样的内容:
$(''.html(element_html).find('h1').prop('id'))
@broading:我可以知道原因吗?因为.find()正在寻找后代,这里的h1不是包装对象的后代:要使用.find(),您需要这样的东西:
$('').html(element_html).find('h1').prop('id')