如何将$(this)
与JS函数一起使用,然后找到attr
?
function date_box() {
alert(this.getAttribute(week));
}
我想从名为week
4的元素中获取属性gospel_table
。单击gospel_table4
,将触发该功能:
<a href='#'><div id='gospel_table4' week='$one_date' onclick='date_box()'> Week $one_date </div></a>
我不能这样做:
$(this).click...
因为只有gospel_table4
的一个元素是可点击的。使用另一种方法,gospel_table4
的所有元素都是可点击的。
基本上,如何从date_box()函数中获取attr?
答案 0 :(得分:4)
你的职能部门需要一个参数
HTML:
<a href='#'><div id='gospel_table4' week='$one_date' onclick='date_box(this)'> Week $one_date </div></a>
使用Javascript:
function date_box(thisdiv){
alert($(thisdiv).attr("week"));
}
答案 1 :(得分:0)
<强> JAVASCRIPT 强>
function date_box(that)
{
$attr=that.getAttribute('week');
alert($attr);
}
<a href='#'><div id='gospel_table4' week='$one_date' onclick='date_box(this)'> Week $one_date </div></a>
答案 2 :(得分:0)
所以点击不起作用的原因是div在锚标记内, 点击了锚点,其中包含Anchor tag becomes non-working link in a div with float: right;或Is putting a div inside an anchor ever correct?等引用,可以提供更多详细信息。以下是jQuery()
中的代码$("#gospel_table4").parent("a").click(function(){
var week = $(this).children("#gospel_table4").attr("week");
console.log(week);
});
说明:由于我们知道首先单击了锚点,因此我们将click事件侦听器放在锚点标记上。然后我们可以访问相对的子元素。
这样可以工作,但同时也会调用date_box(),我建议您删除onclick并将其放在上面,这样你就可以更好地控制代码了。希望这是有帮助的。