除了tr
之外,我想为.jill
中的所有元素进行链接和数据切换。如何仅为此特定孩子删除链接和数据切换?
$(".jill").removeAttr('data-toggle');
$(".jill").removeAttr("href");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table style="width:100%">
<tr href="#" data-toggle="control-sidebar">
<td class="jill">Jill</td>
<td>Smith</td>
<td>50</td>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
</table>
我这样做的方式不起作用
答案 0 :(得分:1)
我会扩展我的评论。
href不会应用于子元素,只会应用于父元素。因此,不能从孩子身上移除href,因为孩子没有那个属性。
所以你有几个选项,你可以在每个<td>
中应用href和数据切换,除了你想要的那些。或者你可以用jquery设置这一切。我不确定你为什么要在jquery中这样做,但如果你动态生成这些行,你可以这样做,并使用
.not('.jill')
在您的选择器中,然后执行类似
的操作 .attr('href', '#')
设置href。
答案 1 :(得分:-1)
您应该为每个href
设置data-toggle
和td
属性,然后您只能为一个元素删除此属性。
<table style="width:100%">
<tr>
<td href="href-test" data-toggle="test-data-toggle" class="jill" >Jill</td>
<td href="href-test" data-toggle="test-data-toggle">Smith</td>
<td href="href-test" data-toggle="test-data-toggle">50</td>
<td href="href-test" data-toggle="test-data-toggle">Eve</td>
<td href="href-test" data-toggle="test-data-toggle">Jackson</td>
<td href="href-test" data-toggle="test-data-toggle">94</td>
</tr>
</table>
<a class="remove">Remove</a>
$(document).ready(function() {
$(".remove").on("click", function() {
$(".jill").removeAttr('data-toggle');
$(".jill").removeAttr("href");
});
});
请查看jsfiddle了解即时演示。