2016-12-20 129 views
1

如何使用变量直接选择类等?使用jQuery变量调用函数

var $tbody = $(".tbl-locations-body"); 

$(".tbl-locations-body a.collapse").hide(); 
$(".tbl-locations-body tr.child-row").hide(); 
$(".tbl-locations-body .container").first().hide(); 
$(".tbl-locations-body .tab-content").hide(); 

我想用$tbody来执行这些方法。什么是语法?

回答

2
var $tbody = $(".tbl-locations-body"); 
$("a.collapse", $tbody).hide(); 
// etc... 

说明:

如果您将$ tbody作为第二个参数传递给jquery函数,您将只在该元素的范围($ tbody)中搜索,而不是在整个文档中搜索。

+0

会是$('a.collapse',$ tbody).hide(); ? – FirstByte

+0

是的,很抱歉,我会更新答案 – xszaboj

+1

请添加一个解释... –

4

您可以使用$tbody jQuery对象中的find()方法。请注意,您可以将多个选择,以及打的电话一个班轮:

var $tbody = $(".tbl-locations-body"); 
$tbody.find('a.collapse, tr.child-row, .container:first, .tab-content').hide(); 
1

可以使用find()方法 - 请参见下面的代码:

var $tbody = $(".tbl-locations-body"); 

$tbody.find("a.collapse").hide(); 
$tbody.find("tr.child-row").hide(); 
$tbody.find(".container").first().hide(); 
$tbody.find(".tab-content").hide(); 
+0

从我读过的关于选择器,是不是更好使用直接选择而不是.find()? – FirstByte

0

我已经对这个阅读起来,虽然

var $tbody = $(".tbl-locations-body"); 
$("a.collapse", $tbody).hide(); 

看起来比较清爽,引擎盖下它改为$ tbody.find()反正。所以更好的答案是使用find方法开始 - 正如Rory指出的那样,您也可以选择多个。