获取元素属性

时间:2018-09-19 09:44:54

标签: javascript attributes

我有一个HTML文件。我需要获取元素属性,但是在获取 export PKG_CONFIG_PATH="/usr/local/opt/postgresql@9.6/lib/pkgconfig"

时不会发生
  

未捕获的TypeError:无法读取null的属性'getAttribute'

我只是不知道如何获取element属性。请帮忙。

var elementType = target.getAttribute('data-type');
var setAllEvents = $("[my-noteEvent]");
for (var i = 0; i < setAllEvents.length; i++) {
    //call function to work with
    this.bindingAllEvents(setAllEvents[i]);
}

bindingAllEvents: function(setElements) {

    var element = document.getElementById(setElements.getAttribute('data-element')); // Get Element the event is set on
    var target = document.getElementById(setElements.getAttribute('data-target')); // Get Element that is the target of the event
    var event = setElements.getAttribute('data-event'); // What type of event to run
    var action = setElements.getAttribute('data-action'); // Action to take on event
    var elementType = target.getAttribute('data-type');
  
    if (elementType === 'dropdown-label') {
        target = target.parentelement;
    }

    element.addEventListener(event, function(e) {
        e.preventDefault();
        //do something here when all is good
    });
}

1 个答案:

答案 0 :(得分:1)

我引用

<div my-noteEvent="" data-element="#maritalStatus" data-target="myTarget" data-event="onchange"
 data-action="[{'Single':{'show':'#div1 #div3'},
 {'married':{'show':'#div1 #div3'}}]">

在您的html中,您的属性分别命名为data-element =“#maritalStatus” data-target =“ myTarget”,但是您在代码中的两个位置都添加了s:

  

var元素=   document.getElementById(setElements.getAttribute('data-elements'));; //   获取设置事件的元素       var target = document.getElementById(setElements.getAttribute('data-targets'));

最后删除s。

此外,如果要使用document.getElementById(variable)按ID进行获取,则变量不应以井号开头。

删除#maritalStatus中的#

您收到一个错误消息,因为target为空,因为找不到它。

相关问题