一张表是不是一个超链接的兄弟姐妹呢? 我:超链接后如何获取表格?
<a href="JavaScript:;">Show me the table</a>
<table class="hidden">
...
</table>
问:jQuery选择做我用它来获得表中的锚标记以下?
$('a').click(function() {
$(this).something.slideDown();
});
一张表是不是一个超链接的兄弟姐妹呢? 我:超链接后如何获取表格?
<a href="JavaScript:;">Show me the table</a>
<table class="hidden">
...
</table>
问:jQuery选择做我用它来获得表中的锚标记以下?
$('a').click(function() {
$(this).something.slideDown();
});
我强烈建议不假设你的表永远是相邻的。它现在可能是正确的,但是如果你出于某种原因需要移动它,你的代码将会崩溃。
为自己节省一些麻烦,并在表单中存储标识符。一种选择是使用data attributes来存储选择器。
<a href="#" data-target-table="#table1">Show me the table</a>
<table id="table1" class="hidden">
...
</table>
和它使用.data()
$('a').click(function() {
var $this = $(this);
var $table = $($this.data('targetTable'));
$table.something.slideDown();
});
一种替代获得是使每个元件在一个共同的类并用它来选择表格。
您可以使用.next()或.siblings()来访问DOM中同一级别的元素。
因此,在您例如,你可以使用:
$('a').click(function() {
$(this).siblings('table').slideDown();
});
$('a').click(function(){
$(this).next().slideDown();
});
哦,我的印象是,兄弟姐妹都是相同类型的元素,比如li或td。 –
这绝对是.siblings()的一个用例,但它比这更一般。即使在http://api.jquery.com/siblings/上,他们也使用它作为段落标记。 –
是的,但只有兄弟的段落。 –