由于多种原因,我必须使用span自定义属性。在这里,我可以在点击<a>
时第一次使用该属性。但第二次在警报中未定义。这是html
<span data="<?php echo $key; ?>"><?php echo $answer['vote']; ?></span>
<a href="#" class="tup" rel="<?php echo $answer['id']; ?>"><span class="glyphicon glyphicon-thumbs-up design-thumbs" id="thumbs-up-ico"></span></a>
<a href="#" class="tdown" rel="<?php echo $answer['id']; ?>"><span class="glyphicon glyphicon-thumbs-down" id="thumbs-down-icon"></span></a>
Jquery的
$(document).ready(function() {
$( ".tup" ).click(function(event) {
event.preventDefault();
var id = this.rel;
var key = $(this).prev().attr('data');
alert(key) ////////it's ok
});
$( ".tdown" ).click(function(event) {
event.preventDefault();
var id = this.rel;
var key = $(this).prev().attr('data');
alert(key);///////Undefined
});
});
我该如何解决这个问题?谢谢
修改 我给了它id。但我的id是用php中的数组给出的。所以我不得不使用另一个属性来识别id
<span id="<?php echo $key; ?>" data-key="<?php echo $key; ?>"><?php echo $answer['vote']; ?></span>
答案 0 :(得分:1)
只有当链接位于<span class="tup">
或<span class="tdown">
旁边时,您的代码才有效。在任何其他情况下,它都不起作用。
您最有可能想使用以下选择器来查找范围:
$(this).prevAll('span[data]').last().attr('data');