编辑:我想重新解释一下我的问题
我很简单,试图在复选框检查中获取<td>
内的锚标记文本
问题是锚标签没有id或类
这是我的表格样本
<table class="wp-list-table widefat fixed striped users">
<tbody id="the-list" data-wp-lists="list:user">
<tr id="user-18">
<th scope="row" class="check-column">
<label class="screen-reader-text" for="user_18">Select abc</label>
<input type="checkbox" name="users[]" id="user_18" class="subscriber" value="18">
</th>
<td class="username column-username has-row-actions column-primary" data-colname="Username">
<a href="#">abc</a>
</td>
</table>
我搜索了一些帖子并试图创建一些功能
<script type ="text/javascript">
$('#changeit').click(function(){
var values = [];
$(".wp-list-table input[name='users[]']:checked").each(function(){
row = $(this).closest("tr");
});
alert($(row).find("a")[0]);
});
</script>
这给了我锚标记href数据,但我需要用锚标记括起来的文字。
我试过
alert($(row).find("a")[0].text());
alert($(row).find("a")[0].val());
alert($(row).find("a")[0].val);
但他们没有给我锚标记文本。
任何建议都会有所帮助。
答案 0 :(得分:0)
试试这个:
function Bindthis() {
$('#changeit').on('click', function() {
alert('1'); //this is hitting
var values = [];
$('.subscriber').attr('checked', true).each(function() {
alert('2');
row = $(this).closest("tr");
});
});
}
答案 1 :(得分:0)
通过遵循一些良好的编码实践,可以轻松追踪这一点。
首先,您需要缩进代码。如果你想编写好的,干净的和无错误的代码,缩进是必须的。没有错误,因为缩进有助于识别不同的范围。
其次,总是寻找日志。我知道您不会查找日志,因为您使用的是alert()
而不是console.log()
,而且,如果您使用代码打开控制台(F12),您会发现此错误:
Uncaught Error: Syntax error, unrecognized expression: #the-list input[name=users[]]:checked
有了这个,很容易理解选择器语法错误。在互联网上搜索并了解选择器时,您会注意到语法需要一些引号,例如#the-list input[name='users[]']:checked
。
似乎你不太了解选择器如何工作,所以,为了避免这个问题和未来问题,我建议你阅读一下它们。这样您就可以避免在此重复相同的选择器问题。这是一个很好的参考网站,有一个在线测试人员:http://www.w3schools.com/cssref/css_selectors.asp
答案 2 :(得分:0)
最后我制作了这个适合我的代码
$(".wp-list-table input[name='users[]']:checked").each(function(){
row = $(this).closest("tr");
anchor = $(this).closest('tr').find("a:first");
});
alert($(anchor).text());