1

HTML DOM を JavaScript 変数に保存して、その属性を取得する方法を教えてください。経験値:

<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 オブジェクトを 1 つだけ作成するため、パフォーマンスがさらに向上します。

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使用することもできますfilterfind

$(element_html).filter('h1').attr('id');
$(element_html).filter('h1').data('order');
于 2013-06-22T10:25:05.677 に答える