如何获取DOM元素的类型?

时间:2014-06-16 09:27:57

标签: javascript dom

在下拉列表中,我想从我的选项元素中获取自定义属性:

<select name="t" id="t">
    <option value="all">- all -</option>
    <optgroup label="Europe">
        <option selected value="1" myAttr="1">Fr</option>
        <option value="2" myAttr="0">Uk</option>
    </optgroup>
    <optgroup label="America">
        <option value="3" myAttr="1">USA</option>
        <option value="4" myAttr="0">CA</option>
    </optgroup>
    <optgroup label="Asia">
        <option value="5" myAttr="0">JP</option>
    </optgroup>
</select>

所以我首先遍历optgroup代码,然后循环遍历option一个Fiddle)。

var temp = document.getElementById("t").childNodes;
// Loop the optGroup
for (var i = 0; i < temp.length; i++) {
    // Loop the option
    for (var j = 0; j < temp[i].childNodes.length; j++) {

然后我想在获取自定义属性之前测试我的元素是否为 HTMLOptionElement ,我尝试了this SO question的一些提示,但是没有成功,我总是得到&#39; undefined& #39 ;.这是与DOM元素一起使用的特定方法吗?

3 个答案:

答案 0 :(得分:2)

您需要使用nodeName

var div1 = document.getElementById("d1");
var div1Type = div1.nodeName;

nodeName and tagName之间的区别。

答案 1 :(得分:1)

Element.tagName - 返回元素的名称。

答案 2 :(得分:1)

每个DOM元素都有一个可以使用的tagName属性:myChildNode.tagName