1

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

<script>
//element_html is ajax response
var element_html = '<h1 style="" class="app-control " data-order="10" data-id="48" id="heading_2_48">Heading</h1>'; 

var id = "heading_2_48";
var data-order="10"

</script>

我如何获得这些id数据顺序

4

5 回答 5

5

尝试jQuery解决方案:

$(element_html).attr("id");
$(element_html).attr("data-order");

下一个在性能方面甚至更好,因为它只创建一个 jQuery 对象:

var jWrapper = $(element_html);
var element_html_id = jWrapper.attr("id");
var element_html_data_order = jWrapper.attr("data-order");

或者您可以尝试Vanilla JavaScript解决方案:

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:http: //jsfiddle.net/6fVdr/1/

于 2013-06-22T10:22:38.193 回答
3

将您的元素包装到 Jquery 对象中。

var val = $(element_html).attr("id");
于 2013-06-22T10:22:59.603 回答
3
var element_html = '<h1 style="" class="app-control " data-order="10" data-id="48" id="heading_2_48">Heading</h1>';

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

http://jsfiddle.net/tsrrR/

作品;)

于 2013-06-22T10:23:05.417 回答
3
$(element_html).find('h1').prop('id');
$(element_html).find('h1').prop('data-order');

更新如下:

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

$(element_html).prop('id');
$(element_html).prop('data-order');

感谢“Roasted”对我的暗示。

于 2013-06-22T10:24:31.767 回答
3

像这样试试

$(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');
于 2013-06-22T10:25:05.677 回答