Javascript 如何在JS函数中使用$(this),然后查找attr?

Javascript 如何在JS函数中使用$(this),然后查找attr?,javascript,jquery,Javascript,Jquery,如何将$(this)与JS函数一起使用,然后找到attr function date_box() { alert(this.getAttribute(week)); } 我想从名为福音表4的元素中获取属性week。点击表4,该功能被触发: <a href='#'><div id='gospel_table4' week='$one_date' onclick='date_box()'> Week $one_date </div></a>

如何将
$(this)
与JS函数一起使用,然后找到
attr

 function date_box() {
   alert(this.getAttribute(week));
  }
我想从名为
福音表
4的元素中获取属性
week
。点击表4,该功能被触发:

<a href='#'><div id='gospel_table4' week='$one_date' onclick='date_box()'> Week $one_date </div></a>
因为表4中只有一个元素是可点击的。使用另一种方法,可以单击表4的所有元素


基本上,如何从date_box()函数中获取属性?

您的函数中需要一个参数

HTML:


在函数中需要一个参数

HTML:


JAVASCRIPT

功能日期\u框(该框)
{
$attr=that.getAttribute('week');
警报($attr);
}

JAVASCRIPT

功能日期\u框(该框)
{
$attr=that.getAttribute('week');
警报($attr);
}

所以单击不起作用的原因是div在锚定标记内, 点击锚定按钮后,会出现类似或的引用,可以提供更多详细信息。下面是jQuery()中的代码

说明:因为我们知道锚首先被点击,所以我们将点击事件监听器放在锚标记上。然后我们可以访问相对的子元素


这会起作用,但同时也会调用date_box(),我建议您删除onclick并将其放在上面的一侧,这样您就可以更好地控制代码。希望这是有帮助的

所以单击不起作用的原因是div在锚定标记内, 点击锚定按钮后,会出现类似或的引用,可以提供更多详细信息。下面是jQuery()中的代码

说明:因为我们知道锚首先被点击,所以我们将点击事件监听器放在锚标记上。然后我们可以访问相对的子元素


这会起作用,但同时也会调用date_box(),我建议您删除onclick并将其放在上面的一侧,这样您就可以更好地控制代码。希望这是有帮助的

onclick='date'框(this)
然后
function date'框(this){alert($(this).attr('week');}
@guradio不起作用…@guradio-不能有一个名为
this
的函数参数“我不能这样做:
$(this)。单击…
,因为表4中只有一个元素是可单击的。”-我想您会发现,如果操作正确,可以使用jQuery绑定click处理程序。但是为什么你要让锚里面的元素可以点击呢?通常锚已经可以点击了,没有鼠标的用户只能用键盘“点击”锚,而不是div。在
JAVASCRIPT
onclick='date_框(this)
中使用
getAttributes
onclick='date_框(this){alert($(this).attr('week');}
@guradio不起作用…@guradio-您不能有一个名为
this
的函数参数“我不能这样做:
$(this)。单击…
,因为表4中只有一个元素是可单击的。”-我想如果操作正确,您会发现可以使用jQuery绑定单击处理程序。但是为什么你要让锚里面的元素可以点击呢?通常锚定已经可以点击了,没有鼠标的用户只能使用键盘“点击”锚定,而不是div.use
getAttributes
in
JAVASCRIPT
$(this).click...
<a href='#'><div id='gospel_table4' week='$one_date' onclick='date_box(this)'> Week $one_date </div></a>
function date_box(thisdiv){
   alert($(thisdiv).attr("week"));
}
$("#gospel_table4").parent("a").click(function(){
    var week = $(this).children("#gospel_table4").attr("week");
    console.log(week);
});