1

好的,所以我想做的是使用 DOM 自省递归地分析 DOM 的当前状态,并将其作为单个格式化字符串返回以显示在其他地方。标准 DOM 函数或 JQuery 都足以满足我的目的。到目前为止,我已经尝试过类似的事情

var txt = $("body").tagName;
var txt = $("body").get();
var txt = $("body").nodeName;
var txt = new String($("body").tagName);

等等。
每次我尝试其中一个时,它要么返回节点对象本身,要么返回未定义。如何获取它以便我可以返回诸如 body 或 <body> 之类的字符串而不是对象本身?
就此而言,我将如何获取作为字符串返回的属性的名称和值?

4

5 回答 5

3

get(n)如果要查看它的 DOM 属性,则需要使用从 jQuery 对象中获取原始 DOM 节点,其中 jQuery 对象n中的第 n 个元素。

nodeName将为您获取大写的节点名称,getAttribute('attributeName')或者简单.attributeName地用于获取属性的值。

// Contrived example; returns BODY
var n = document.body.nodeName;

// Get the value of an attribute from an element
var n = document.getElementById('id').title;

// Unsupported attribute's value need to be obtained through `getAttribute`
var n = document.getElementById('id').getAttribute('placeholder');

查看此表以获取 DOM 函数和属性的完整列表:http ://www.quirksmode.org/dom/w3c_core.html

于 2010-11-18T17:33:55.417 回答
1

要获取标签名称,您可以使用: $("body")[0].tagName;

要获取对象中元素的属性,您可以使用: $("body")[0].attributes; 遍历该对象以获取键/值对。

于 2010-11-18T17:30:54.113 回答
0

document.getElementsByTagName("div")[0].tagName对于通用的。

于 2010-11-18T17:31:54.793 回答
0

var txt = $("body")[0].tagName;

注意:它将以大写字母返回 tagName。

于 2010-11-18T17:26:30.157 回答
0

使用 jQuery 你可以像这样获取对象的标签:

var txt = $("body").attr("tagName"); //returns "BODY" (uppercase)

对于任何其他属性,插入属性的名称:

var txt = $("div").attr("class"); //returns class of the div
var txt = $("a").attr("title"); //returns title of the anchor

这是 .attr() 方法的文档:http: //api.jquery.com/attr/

于 2010-12-23T12:23:33.670 回答