cho*_*bo2 59 jquery jquery-selectors
通常,当我使用类作为选择器时,我尝试使用"id"选择器,因此它不会搜索整个页面,而只搜索类所在的区域.
但是我有一个部分视图,其中包含代码.此部分视图(公共代码)包含在表单标记周围.
我有:
<form id="Create">
// load common code in from partial view
</form>
<form id="Edit">
// load common code in from partial view
</form>
Run Code Online (Sandbox Code Playgroud)
现在在这个通用代码中我需要将插件附加到多个字段,所以我会这样做
$('#Create .myClass').plugin({ options here});
$('#Edit .myClass').plugin({options here});
Run Code Online (Sandbox Code Playgroud)
所以这几乎是相同的代码.我想知道是否有办法让它找到任何一个id?
编辑
当我的选择器有变量时,我遇到了问题
my.selectors =
{
A: '#Create',
B: '#Edit',
Plugin: ' .Plugin'
};
$(selector.A+ selectors.Plugin, selector.B+ selectors.Plugin)
Run Code Online (Sandbox Code Playgroud)
似乎没有运行.
Leo*_*opd 89
您可以将多个选择器与逗号组合:
$('#Create .myClass,#Edit .myClass').plugin({options here});
Run Code Online (Sandbox Code Playgroud)
或者,如果您要使用它们,可以在所有表单元素中添加一个类,然后在该类中进行搜索.这并没有让你获得限制搜索的速度节省,但老实说,如果我是你,我也不会过分担心.浏览器做了许多花哨的事情来优化背后的常见操作 - 简单的类选择器可能更快.
Rio*_*ams 10
你应该可以使用:
$('#Edit.myClass, #Create.myClass').plugin({options here});
Run Code Online (Sandbox Code Playgroud)
我认为通过这种方式可能会看到稍微好一点的性能:
$("#Create, #Edit").find(".myClass").plugin(){
// Options
});
Run Code Online (Sandbox Code Playgroud)
喜欢:
$('#Create .myClass, #Edit .myClass').plugin({
options: here
});
Run Code Online (Sandbox Code Playgroud)
您可以指定任意数量的选择器组合成单个结果.这种多表达式组合子是选择不同元素的有效方法.返回的jQuery对象中DOM元素的顺序可能不相同,因为它们将按文档顺序排列.该组合器的替代方法是.add()方法.
| 归档时间: |
|
| 查看次数: |
115101 次 |
| 最近记录: |