我有几个动态生成的div id,每个都是一个数字,并且想要一个点击处理程序,当点击任何这些div id中的链接时执行该处理程序,并分配变量对该div id的值,例如:
var someNumber
<div id=someNumber>link here</div>
$('#clicking any div id that's a number should run this').click(function() {
someVariable = this.id
});
应该怎么做?
答案 0 :(得分:0)
<div class="click" id=1>Div 1</div>
<div class="click" id=2>Div 2</div>
<div class="click" id=3>Div 3</div>
<div class="click" id=4>Div 4</div>
<script>
$('.click').click(function () {
dowork($(this));
});
function dowork(element){
id = $(element).attr('id')
if(isNaN(id)){
" is not a number";
}else{
" is a number"
}
</script>
答案 1 :(得分:0)
您可以使用jQuery closest()
方法获取点击链接的父<div>
。然后使用attr()
方法获取id
属性值。
$(document).on('click', 'a', function(e) {
var clickedDiv = $(this).closest('div').attr('id');
console.log(clickedDiv);
return false; // prevent following a link
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="id1"><a href="/abc">Link 1</a></div>
<div id="id2"><a href="/def">Link 2</a></div>
<div id="id3"><a href="/ghi">Link 3</a></div>