编辑:我想重新表述一下我的问题
我只是简单地尝试在复选框选中获得<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);但是他们没有给我锚标签文本。
任何建议都会有帮助。
发布于 2016-10-12 17:08:14
试试这个:
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");
});
});
}发布于 2016-10-12 17:14:41
通过遵循一些好的编码实践,这是很容易跟踪的。
首先,你需要你的代码有良好的缩进。如果你想写出好的,干净的,没有错误的代码,缩进是必须的。没有错误,因为缩进对识别不同的作用域有很大帮助。
其次,一定要查找日志。我知道您不会查找日志,因为您使用的是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
发布于 2016-10-12 18:24:08
最后,我编写了这段代码,它对我来说是有效的
$(".wp-list-table input[name='users[]']:checked").each(function(){
row = $(this).closest("tr");
anchor = $(this).closest('tr').find("a:first");
});
alert($(anchor).text());https://stackoverflow.com/questions/39994328
复制相似问题