Javascript Can';t使用jquery绑定按钮上的单击事件
我是js新手 我有一个这样的结构:Javascript Can';t使用jquery绑定按钮上的单击事件,javascript,jquery,Javascript,Jquery,我是js新手 我有一个这样的结构: <ul class='selectable-list'> <li><a data-id="5" data-type="Content">Test</a></li> <li><a data-id="3" data-type="Content">Test</a></li> </ul> 结果是,这是一个文本,因此我无法获取数据属性。。。为什么
<ul class='selectable-list'>
<li><a data-id="5" data-type="Content">Test</a></li>
<li><a data-id="3" data-type="Content">Test</a></li>
</ul>
结果是,这是一个文本,因此我无法获取数据属性。。。为什么?
编辑:
我不确定你所说的文字是从哪里来的。this
将是您单击的DOM节点。如果将其包装在$()
中,则应该能够读取数据属性
$selectableList=$('.selectableList a');
$selectableList。单击(函数(){
var-anchor=$(这个);
log(anchor.data(“id”)、anchor.data(“type”);
});代码>
- 试验
- 试验
.attr是jQuery提供的一个函数,这意味着您只能将其应用于jQuery对象
在这里的代码片段中,您试图在属于本机javascript且没有与之关联的.attr方法的上使用它。此此对象将是您单击的DOM节点对象
您需要做什么来包装您的this$或jQuery名称空间,比如
$(this).attr("data-type")
你应该可以走了
希望这能有所帮助
快乐学习:)不,这不是文本,你错了@adeneo我不知道为什么但不是DOM节点。。。
bindEvents : function bindEvents() {
$selectableList.click(function(){
console.log(this.attr("data-type"))
script.addItem(this);
});
}
Uncaught TypeError: this.attr is not a function
$(this).attr("data-type")