通常,当我使用一个类作为选择器时,我会尝试对它使用一个"id“选择器,这样它就不会搜索整个页面,而只搜索类所在的区域。
然而,我有一个包含代码的局部视图。这个局部视图(公共代码)被包装在一个表单标记周围。
我有:
<form id="Create">
// load common code in from partial view
</form>
<form id="Edit">
// load common code in from partial view
</form>
现在,在这个通用代码中,我需要将一个插件附加到多个字段,所以我将这样做
$('#Create .myClass').plugin({ options here});
$('#Edit .myClass').plugin({options here});
所以这几乎是相同的代码。我想知道有没有办法让它看起来像这两个身份中的任何一个?
编辑
当我有选择器的变量时,我会遇到问题。
my.selectors =
{
A: '#Create',
B: '#Edit',
Plugin: ' .Plugin'
};
$(selector.A+ selectors.Plugin, selector.B+ selectors.Plugin)
似乎没有运行。
发布于 2011-04-21 05:27:15
您可以使用逗号组合多个选择器:
$('#Create .myClass,#Edit .myClass').plugin({options here});
或者,如果您要拥有大量表单元素,则可以向所有表单元素添加一个类,然后在该类中进行搜索。这不会给你带来所谓的限制搜索的速度节省,但如果我是你,我真的不会太担心这一点。浏览器在背后做了很多奇妙的事情来优化常见的操作--简单的类选择器可能更快。
发布于 2011-04-21 05:27:43
$("#Create").find(".myClass").add("#Edit .myClass").plugin({});
使用$.fn.add
连接两个集合。
发布于 2011-04-21 05:27:53
https://stackoverflow.com/questions/5736811
复制相似问题