这只是一个示例,我正在编写jQuery的程序似乎是使用某些功能的更好途径。无论如何,这就是问题所在。在第二个div上,单击“编辑”按钮,当我单击“编辑”按钮时,要提醒文本框的值。
是的,这可能是重复的,但是其他堆栈问题的答案已告诉我使用类而不是Id。我有,但是jQuery只影响第一个div。当我在第一个div上单击“编辑”时,它会发出警报251。但是,当我在第二个div上单击“编辑”时,它会发出251警报,我希望它向351发出警报。感谢Stack。
<!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
$(document).ready(function(){
$('.editdet').click (function() {
alert($('.addet').val());
});
});
</script>
</head>
<body>
<div class = "newbox">
<form class = "something">
<table>
<tr>
<td>
<input type="text" id="addet" class = "addet" value="251"/>
<input type="button" id="editdet" class = "editdet" value="Edit"/>
</td>
</tr>
</table>
</form>
</div>
<br>
<div class = "newbox">
<form class = "something">
<table>
<tr>
<td>
<input type="text" id="addet" class = "addet" value="351"/>
<input type="button" id="editdet" class = "editdet" value="Edit"/>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
这是因为$('.addet')
是具有类名的所有元素的集合addet
。
然后,当您.val()
对集合进行操作时,它将获取集合中的第一个值,即页面上的第一个值,因此251
您需要获取与单击的addet
相对的editdet
。您可以使用以下prev()
功能实现此目的:
$('.editdet').click (function() {
alert($(this).prev('.addet').val());
});
这将获得上一个元素。
无论元素位于何处,都需要相对于当前元素($(this)
)所在的位置遍历DOM结构。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句