除了 JS 中的 'this' 和 jQuery 之外,是否有可能使用相同 class 的所有元素
Is there any possibility to work with all elements of the same class except 'this' in JS and jQuery
当我对相同 class 的各种元素使用 this
时,JS/jQuery 是否有可能使用 all elements except that one selected
之类的东西来编写更少的代码?
$('.field').focus(function() {
$(this).css('border-bottom','3px solid red');
$(all other elements of the class .field). $(this).css('border-bottom','3px solid grey');
});
您可以使用.not(this)
var fields = $('.field').focus(function() {
fields
.css('border-bottom','3px solid grey')
.not(this).css('border-bottom','3px solid red');
});
在下面添加了一个使用 .not 的简单示例来说明其工作原理。希望这有帮助
var fields = $('.field').on('click', function() {
fields
.css('border','3px solid grey')
.not(this).css('border','3px solid red');
});
.selected {
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="field">One</div>
<div class="field">Two</div>
<div class="field">Three</div>
<div class="field">Four</div>
<div class="field">Five</div>
对于这种特定情况,您也可以在没有 .not()
的情况下执行类似操作
var fields = $('.field').focus(function() {
fields.css('border-bottom','3px solid grey');
$(this).css('border-bottom','3px solid red');
});
当我对相同 class 的各种元素使用 this
时,JS/jQuery 是否有可能使用 all elements except that one selected
之类的东西来编写更少的代码?
$('.field').focus(function() {
$(this).css('border-bottom','3px solid red');
$(all other elements of the class .field). $(this).css('border-bottom','3px solid grey');
});
您可以使用.not(this)
var fields = $('.field').focus(function() {
fields
.css('border-bottom','3px solid grey')
.not(this).css('border-bottom','3px solid red');
});
在下面添加了一个使用 .not 的简单示例来说明其工作原理。希望这有帮助
var fields = $('.field').on('click', function() {
fields
.css('border','3px solid grey')
.not(this).css('border','3px solid red');
});
.selected {
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="field">One</div>
<div class="field">Two</div>
<div class="field">Three</div>
<div class="field">Four</div>
<div class="field">Five</div>
对于这种特定情况,您也可以在没有 .not()
var fields = $('.field').focus(function() {
fields.css('border-bottom','3px solid grey');
$(this).css('border-bottom','3px solid red');
});