Javascript jQuery无法使用.parent()获取父元素
我是JavaScript和jQuery的新手 我正在写一个网站,它使用AJAX更新服务器上文件的等级。其思想是,当我得到响应(即成功或失败)时,我应该更新表中的一些值。然而,我遇到了很多麻烦,因为我似乎无法正确地在DOM中导航 我的HTML感兴趣的片段如下:Javascript jQuery无法使用.parent()获取父元素,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我是JavaScript和jQuery的新手 我正在写一个网站,它使用AJAX更新服务器上文件的等级。其思想是,当我得到响应(即成功或失败)时,我应该更新表中的一些值。然而,我遇到了很多麻烦,因为我似乎无法正确地在DOM中导航 我的HTML感兴趣的片段如下: <tr> <td><a href="some_url">some_name</a></td> <td>Yes</td> <td
<tr>
<td><a href="some_url">some_name</a></td>
<td>Yes</td>
<td>Tag</td>
<td>0</td>
<td>0</td>
<td><button value="UP" onClick="rate(this, 'some_key', 'upvote', 'some_url' );">
<span class="glyphicon glyphicon-thumbs-up" style="font-size: 1.2em"></span>
</button>
<button value="DOWN" class="btn btn-default down_vote_button table-buttons" onClick="rate(this, 'some_key', 'downvote', 'some_url' );">
<span class="glyphicon glyphicon-thumbs-down" style="font-size: 1.2em"></span>
</button>
</td>
</tr>
我的想法是,如果服务器有一个成功的返回代码,那么我会传递一个对触发操作的按钮的引用(因此是rate(this,…)调用),然后我应该得到该按钮的父级,最后是正确的索引,这样我就可以得到里面的文本。然而,由于某种原因,我从来没有真正得到文本。我试着只得到按钮的父按钮,但我也不能得到它
请注意,该表应该有许多条目,并且根据存储在数据库中的内容而有所不同
非常感谢您的帮助
谢谢 首先,您的按钮没有父按钮('tr'),它的父按钮是一个
。一个元素只有一个父元素,即它所包含的单个元素
我猜你想要的是:
var upvotes = $(caller).closest("tr").find('td').eq(3).text();
这将查找树中最近的tr
,然后使用find
查找该行中的td
,索引为3
参考:
parent()
只查找一个级别。如果要查找最近的父级(不一定是直接的父级),请使用最近的()var downvoates
,然后在第二个警报中使用upvoates
。@rfornal实际上它使用了另一个似乎未定义的变量,我怀疑他是想使用downvoates
,而不是upvoated
。非常感谢您的帮助。这就成功了。正如我所说的,我对jQuery是新手,所以我认为.parent()将获得最接近的父对象。
var upvotes = $(caller).closest("tr").find('td').eq(3).text();