jQuery .attr()返回未定义

时间:2020-09-21 19:14:10

标签: jquery

我有一个表单元素:

<form name="editTourneyForm" data-tourney-id="28">

和一个jQuery选择器:

$('#editTourneyForm').attr('data-tourney-id')

当我尝试通过.attr()访问属性(数据或名称)时,它返回未定义的。当我检查jQuery对象时,尽管attr和data属性都具有length=2,但我在任何地方都找不到任何一个属性(当然,我对jQuery对象的结构不满意)。我不知道可能会出什么问题。该表单不是在运行时生成的,因此不应成为未选择动态内容的问题。

我以前已经使用过它,并且对项目的其他部分进行了一些更改,但是现在以某种方式被破坏了,有什么想法吗?

2 个答案:

答案 0 :(得分:1)

请注意,您没有该元素的任何ID。它仅具有您要选择的name属性。

使用下面的选择器进行操作:

$('form[name=editTourneyForm]')

此外,尽管可以使用.attr()来访问您尝试访问的属性,但是建议使用.data()来访问数据属性。这样做:

$('form[name=editTourneyForm]').data('tourney-id');

答案 1 :(得分:0)

这是一个JQuery data()方法。请改用$('form[name="editTourneyForm"]').data('tourney-id')。请检查他们的doc

请确保使用正确的选择器。