Javascript JQuery seletor中的可选参数?
我试图在JQuery中创建一个选择器,当单击文档中的任意位置时,该选择器将淡入多个列表中的元素。现在有两个列表,Javascript JQuery seletor中的可选参数?,javascript,jquery,Javascript,Jquery,我试图在JQuery中创建一个选择器,当单击文档中的任意位置时,该选择器将淡入多个列表中的元素。现在有两个列表,kiosks和profiles。我用于函数的代码如下所示: $(document).on('click', function( e ){ $( '.profile:not(".default") .name:not(".selected") .rename' ).fadeIn(80); $( '.kiosk .name:not(".selected") .rename'
kiosks
和profiles
。我用于函数的代码如下所示:
$(document).on('click', function( e ){
$( '.profile:not(".default") .name:not(".selected") .rename' ).fadeIn(80);
$( '.kiosk .name:not(".selected") .rename' ).fadeIn(80);
});
是否有任何方法可以添加可选的选择器,以便如果项目是一个配置文件,它也会排除默认值
,但其他任何名称都会使用这些规则
编辑:我想做的是把这个函数变成一行,这样它就会是这样的:
$(document).on('click', function( e ){
$( '[profile:not("default") .name:not("selected") .rename' ).fadeIn(80);
});
以下是附加了数据绑定的HTML:
<!-- Profiles -->
<div class="profiles">
<h1>Profiles</h1>
<div data-bind="template: { name: 'profilestempl', foreach: $root.profiles }"></div>
</div>
<script type="text/html" id="profilestempl">
<div class="profile" data-bind="css: { 'default' : !canChange() }">
<div class="name" data-bind="css: { 'selected' : isSelected }">
<input type="text" data-bind="hasfocus: $data.isSelected, value: tempName, enable: canChange(), valueUpdate: 'keyup'" />
<span class="rename" data-bind="click: $root.selectProfile">q</span>
</div>
</div>
</script>
<!-- Kiosks -->
<div class="kiosks">
<h1>Kiosks</h1>
<div data-bind="template: { name: 'kioskstempl', foreach: $root.kiosks }"></div>
</div>
<script type="text/html" id="kioskstempl">
<div class="kiosk">
<div class="name" data-bind=" css: { 'selected' : isSelected }">
<input type="text" maxlength="30" data-bind="hasfocus:$data.isSelected, value:tempName, valueUpdate: 'keyup' " />
<span class="rename" data-bind="click: $root.selectKiosk">q</span>
</div>
<select data-bind="options: $root.profiles, optionsText: 'name', value: profile"></select>
</div>
</script>
轮廓
Q
亭
Q
如果您的目标是在一行上完成,您可以使用
为了在这里获得最好的帮助,您还应该显示相关的HTML。我正在尝试简化代码,以便将来可以按照
profile
和kiosk
添加更多类,而无需添加更多fadeIn()
事件。我不确定这是否真的可能。
$(document).on('click', function( e ){
$( '.profile:not(".default") .name:not(".selected") .rename, .kiosk .name:not(".selected") .rename' ).fadeIn(80);
});