javascript tagName和LocalName

JavaScript012

javascript tagName和LocalName,第1张

tagName 是html元素属性返回元素的标签名。在 HTML 中,tagName 属性的返回值始终是大写的。localName 是XML属性返回被选元素的本地名称(元素名称)。如果选定的节点不是元素或属性,则该属性返回 NULL。

某个标签的tagName取法有两种:

1、javascript: document.getElementById(‘id’).firstChild.tagName

2、jQuery: $(‘#id’).children().first().prop(“tagName”)

示例代码如下:

//点击span等标签里面的内容后变成可编辑的输入框

function edit(obj, name, id) {

var that = $(obj)

//var tag = obj.firstChild.tagName

var tag = that.children().first().prop("tagName")

if (typeof(tag) != "undefined" &&tag.toLowerCase() == "input") {

return

}

//保存原有内容

var org = that.html()

var val = that.text()

var txt = $("<input>")

txt.val(val)

that.html(txt)

txt.focus()

txt.blur(function() {

var new_val = $(this).val()

if (new_val != val &&new_val.length >0) {

$.ajax({

url: 'url',

type: 'post',

data: 'data',

success: function() {

that.html(new_val)

}

})

} else {

that.html(org)

}

})

}

document.body 并不是document对象,而是html element对象。

也就是说,createElement是document对象的方法,而insertBefore是html element对象的方法。

你可以认为document.body是引用boyd元素的一种快捷方式,即document.body.insertBefore()等同于document.getElementsByTagName('body')[0].insertBefore()

明白了?

你可以使用调试工具检查document对象提供的方法和属性信息。