我正在尝试在单击时从锚点标记中获取值 / ID。代码看起来没问题,但我不知道问题出在哪里; 每次都返回未定义或空。
我还尝试过 jQuery(this).attr("value");
, jQuery(this).val();
和 jQuery(this).attr("id")
我尝试的代码如下:
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
<ul class="switch">
<li value="1"><a href="#" value="1" id="1">link 1</a></li>
<li value="2"><a href="#" value="2" id="2">link 2</a></li>
<li value="3"><a href="#" value="3" id="3">link 3</a></li>
<li value="4"><a href="#" value="4" id="4">link 4</a></li>
</ul>
<div class="clickedId"></div>
<script>
jQuery(document).ready(function() {
jQuery('ul.switch').click('a', function(evt) {
evt.preventDefault();
var id = jQuery(this).attr("value");
jQuery('.clickedId').append(id+'<br>');
});
});
</script>
</body>
</html>
jQuery('ul.switch').click('a', ...
这会在<ul />
上添加一个点击处理程序。如果被点击,值'a'
将作为event.data
传递到事件对象中。使用.click()
时无法使用事件委托。请改用.on()
。 - Andreas