Javascript InnerHTML获取Div名称

Javascript InnerHTML获取Div名称,javascript,html,undefined,innerhtml,Javascript,Html,Undefined,Innerhtml,我想知道一个部门的名字 <div id="test" name="info1" onclick="func(this.name)">This is div 1</div> 但是当我尝试使用innerHTML打印div的名称时,返回的结果是未定义。这是可以做到的还是我做错了什么?根据div,它不能有name属性,但可以有id、class或title。我认为DOM无法识别该属性,因此无法将其提供给Javascript 我制作了一个标题,如您所述,它显示了工作和名称失败。根据

我想知道一个部门的名字

<div id="test" name="info1" onclick="func(this.name)">This is div 1</div>
但是当我尝试使用innerHTML打印div的名称时,返回的结果是未定义。这是可以做到的还是我做错了什么?

根据div,它不能有name属性,但可以有id、class或title。我认为DOM无法识别该属性,因此无法将其提供给Javascript

我制作了一个标题,如您所述,它显示了工作和名称失败。

根据div,它不能有name属性,但可以有id、class或title。我认为DOM无法识别该属性,因此无法将其提供给Javascript


我制作了一个标题,它显示了您所描述的标题工作和名称失败。

如果您想获取div的名称,您应该编写一些代码,如果您对跨浏览器支持不感兴趣,可以从元素获取属性,只需使用elem.getAttribute即可

例如:

    var getAttr = function(ele, attr) {
        var result = ele.getAttribute(attr) || ele[attr] || null, attrs, len;
        if( !result ) {
            attrs = ele.attributes;
            len = attrs.length;
            for(var i = 0; i < len; i++)
               if(attrs[i].nodeName === attr)
                  result = attrs[i].nodeValue;
        }
        return result;
};
那你就可以做了

<div id="test" name="info1" onclick="func(getAttr(this, 'name'))">This is div 1</div>

如果您想获取div的名称,应该编写一些代码,如果您对跨浏览器支持不感兴趣,可以从元素中获取属性,只需使用elem.getAttribute即可

例如:

    var getAttr = function(ele, attr) {
        var result = ele.getAttribute(attr) || ele[attr] || null, attrs, len;
        if( !result ) {
            attrs = ele.attributes;
            len = attrs.length;
            for(var i = 0; i < len; i++)
               if(attrs[i].nodeName === attr)
                  result = attrs[i].nodeValue;
        }
        return result;
};
那你就可以做了

<div id="test" name="info1" onclick="func(getAttr(this, 'name'))">This is div 1</div>

从节点获取属性的最佳方法是使用getAttribute,因为只有一小部分属性可以直接访问,例如Title可以,而as-alt不能

getAttribute方法也可以很好地处理非标准属性,这些属性有时非常有用

以下代码应将节点名称正确传递给func函数:

<div id="test" name="info1" onclick="func(this.getAttribute('name')">This is div 1</div>

希望有帮助。

从节点获取属性的最佳方法是使用getAttribute,因为只有一小部分属性可以直接访问,例如Title可以,而as alt不能

getAttribute方法也可以很好地处理非标准属性,这些属性有时非常有用

以下代码应将节点名称正确传递给func函数:

<div id="test" name="info1" onclick="func(this.getAttribute('name')">This is div 1</div>

希望有帮助。

我会坚持使用id和类属性。它们是最可靠的。我会坚持使用id和类属性。他们是最可靠的。