выбор входных данных jquery

#javascript #jquery #variables #input #selector

#javascript #jquery #переменные #ввод #селектор

Вопрос:

 var inputvalue = $(this).attr('value')
             $('input[value=inputvalue]   label').css({
                    '-webkit-transition': 'opacity 0.4s linear',
                    'opacity': '0'
                });
  

Но это не работает. Как и ожидалось, значение=inputvalue не получает эту переменную, но ищет это имя. Как я могу это сделать?

Большое спасибо 🙂

Комментарии:

1. Рассматривали ли вы возможность использования $(this).val() вместо $(this).attr('value') ? О, и селектор атрибутов equals требует, чтобы значения были заключены в кавычки. ‘Кавычки обязательны.’ Ссылка: val() , атрибут равен селектору .

2. Можете ли вы опубликовать свою разметку? Это поможет нам понять, что вы пытаетесь сделать

Ответ №1:

Здесь нужно использовать некоторую конкатенацию строк.

 var inputvalue = $(this).val();
$('input[value="'   inputvalue   '"]   label').css({
  '-webkit-transition': 'opacity 0.4s linear',
  'opacity': '0'
});
  

Ответ №2:

попробуйте это: пример

HTML:

 <label for="myinput">Label for input</label>
<input id="myinput" />
<button>check</button>
<br />
  

JS:

 $.expr[':'].value = function(obj, index, meta, stack){

    if (meta[3] == $(obj).val())
        return true;    

    return false;
};

$.fn.labelInput = function() {

    if (this amp;amp; $(this).attr('id'))
        return $('label[for="' $(this).attr('id') '"]');

    return null;
}

$('button').bind('click', function(event) {

   var 
       inputvalue = $('input').val(),
       cssOpcions = {
          '-webkit-transition': 'opacity 0.4s linear',
          'opacity': '0'
        };

    $('input:value('   inputvalue   ')')
        .css(cssOpcions)
        .labelInput().css(cssOptions);

});