2013-05-01 5 views
1

Каков наилучший способ добавить атрибут к <input /> в фокусе с помощью js/jQuery?Добавить атрибут в фокусе

Прямо сейчас, с верхней части моей головы, я думаю

$(document).ready(function(){ 
    $('input').focus(function(){ 
     $(this).attr(attributeHere); 
    }); 
}); 

Является ли это правильно? Атрибут должен иметь кавычки вокруг него?

Прямо сейчас, это будет просто атрибут, не имеющий значения. Значение будет добавлено позже.

+0

on. ("Focus", function() {...}); рекомендуется – mplungjan

+1

Передача одного параметра 'attr' возвращает значение этого атрибута, для установки атрибута вы должны передать 2 параметра. 'attr ('attribute', 'value')' и jQuery - _free_. – undefined

+0

@und - Так кто же собирал мои платежи все это время?!? – Lix

ответ

2

Это то, что вы можете сделать:

$(document).ready(function(){ 
    $('input').on("focus",function() { 
     $(this).attr('name', 'value'); // value could be '' if you would like to specify it later. 
    }); 
}); 

Я надеюсь, что это помогает.

+0

Существует ненужный период/точка раньше («focus ... –

+0

@IrfanMir typo, я исправил его, спасибо. –

2

Выглядит хорошо для меня. Единственное, что я хотел бы добавить, это то, что даже если вы хотите оставить атрибут пустым, вы должны указать ему пустую строку в качестве значения.

var attrName = 'someAttr'; 
$(this).attr(attrName,''); 

К не передавая значение (даже пустая строка), вы на самом деле вызов функции геттер для атрибута, где вы действительно хотите, чтобы называть сеттера.

1

Вы должны сделать это -

$(this).attr('attributeName','attributeValue'); 

Что вы пытаетесь .attr(attributeName) используется для доступа к значению атрибута

Описание: Получить значение атрибута для первого элемента в набор согласованных элементов.

Смотрите апи:

http://api.jquery.com/attr/

.attr(attributeName, value) 

attributeName 
Type: String <-- Either a var containing string or an "string" 
The name of the attribute to set. 

value 
Type: String or Number 
A value to set for the attribute. 
Смежные вопросы