2016-08-04 4 views
-1

Этот селектор jQuery пытается выбрать все элементы html с классом required, который отлично работает, я хочу также добавить ко всем элементам ввода html с их обрезанными значениями, не равными пробелу.css селектор для комбинированных элементов

$('.required').each(function() {//do stuff}) // works fine 

мое воображение:

$('.required, input:text[value.trim() != '']').each(function() {//do stuff}) 

Как это можно сделать? Благодаря

+1

Я бы сказал, что это боян - [ Можно ли сделать триммер в селекторе?] (Http://stackoverflow.com/questions/4270727/is-it-possible-to-make-trim-in-a-selector) – Vucko

+0

Я не стану это как ответ, так как я не уверен, что это «поощряется». Но я написал небольшой пакет npm, который будет делать то, что вы пытаетесь сделать. Вы используете npm? – KevBot

+0

@KevBot Да, я использую npm. –

ответ

0

Вам придется перебрать каждый элемент, проверьте по значению после обрезки его, а затем сделать магии:

$('input[type="text"]').each(function() { 
 
    if ($.trim(this.value).length) { 
 
    // do stuff 
 
    $(this).addClass('has-content'); 
 
    } 
 
});
.has-content { 
 
    border: 2px solid red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" value="test" /> 
 
<input type="text" value=" " /> 
 
<input type="text" value="" />

Смежные вопросы