我有一个HTML列表,其中包含data-…每个属性的链接:
<ul id="list">
<li><a data-info="link1"> **** </a></li>
<li><a data-info="link2">****</a></li>
<li><a data-info="link3">**** </a></li>
<li><a data-info="link4">****</a> </li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我需要在data-info点击时收到链接的值.所以我想到这样的事情:
var my_links = $('#list').find('a');
my_links.on('click', function(){
console.log(this.data(info));
});
Run Code Online (Sandbox Code Playgroud)
但后来我得到:
未捕获的TypeError:this.data不是函数
如果我这样做:
var my_links = $('#list').find('a');
my_links.on('click', function(){
console.log(this);
});
Run Code Online (Sandbox Code Playgroud)
我得到每个链接的完整HTML代码,例如:
<a data-info="link1"> **** </a>
Run Code Online (Sandbox Code Playgroud)
为什么两件事都在发生,我该如何解决?
我正在学习js DOM,我想创建一个递归函数,我可以用它来遍历任何DOM中的所有节点.我做到了,但我无法弄清楚为什么我的第一次尝试不起作用:
HTML
function mostrarNodosV2(node) {
console.log(node.nodeName);
if (node.firstElementChild != null) {
node = node.firstElementChild;
mostrarNodosV2(node);
}
if (node.nextElementSibling != null) {
node = node.nextElementSibling;
mostrarNodosV2(node);
}
}
mostrarNodosV2(document);Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Exercise IV</title>
</head>
<body>
<h1> Just a header</h1>
<p>Nice paragraph</p>
<ul>
<li>Im just an element list on an unordered list</li>
</ul>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
流程如下: