首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取元素属性

获取元素属性
EN

Stack Overflow用户
提问于 2018-09-19 09:44:53
回答 1查看 112关注 0票数 0

我有一个HTML文件。我需要获得元素属性,但是它不会发生,因为我得到的是var elementType = target.getAttribute('data-type');

Uncaught :无法读取属性'getAttribute‘的null

我只是不知道如何才能得到元素属性。请帮帮忙。

代码语言:javascript
复制
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
    });
}
代码语言:javascript
复制
<div class="form--input form--input-container form--select hasPlaceholder" data-type="dropdown-label" data-required="true">
    <label for="countries">Dropdown</label>
    <input type="hidden" id="countries" name="maritalStatus">
    <input class="input--main" type="button" data-element="select" value="">
    <span class="placeholder">A Dropdown with stuff</span>
    <span class="selectChoice"></span>
    <div class="framework dropdown dropdown--select-container">
        <div id="" class="framework dropdown--select-item" data-value="UK" data-option="0">
            <p class="framework text--paragraph     ">
                UK
            </p>
            <span class="dropdown--item-line"></span>
        </div>
        <div id="" class="framework dropdown--select-item" data-value="Russia" data-option="1">
            <p class="atom text--paragraph     ">
                Russia
            </p>
            <span class="dropdown--item-line"></span>
        </div>
    </div>
</div>
<div my-noteEvent="" data-element="maritalStatus" data-target="myTarget" data-event="onchange" data-action="[{'Single':{'show':'#div1 #div3'}, {'married':{'show':'#div1 #div3'}}]">
</div>

EN

回答 1

Stack Overflow用户

发布于 2018-09-19 09:54:04

我引用

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

var元素= document.getElementById(setElements.getAttribute('data-elements'));// Get元素事件设置在var target = document.getElementById(setElements.getAttribute('data-targets'));上

移除结尾处的s。

此外,如果要使用document.getElementById(变量)获取id,则变量不应该以磅号开头。

删除# in #maritalStatus

由于找不到目标为null,所以您得到了一个错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52402904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档