我正在尝试在JQuery中创建一个选择器,当单击文档中的任何位置时,该选择器将淡入多个列表中的元素。现在有两个列表kiosks
和profiles
。我用于该函数的代码如下所示:
$(document).on('click', function( e ){
$( '.profile:not(".default") .name:not(".selected") .rename' ).fadeIn(80);
$( '.kiosk .name:not(".selected") .rename' ).fadeIn(80);
});
有没有办法可以添加一个可选的选择器,这样如果该项是一个配置文件,它也会排除default
,但是否则任何名称都使用这些规则?
编辑:我要做的是将该功能集成一行,这样就可以了:
$(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>
答案 0 :(得分:0)
如果您的目标是将其放在一行,则可以使用Multiple Selector。
$(document).on('click', function( e ){
$( '.profile:not(".default") .name:not(".selected") .rename, .kiosk .name:not(".selected") .rename' ).fadeIn(80);
});