在焦点上添加属性

时间:2013-05-01 17:04:04

标签: javascript jquery

使用js / jQuery在焦点上向<input />添加属性的最佳方法是什么?

现在,我想,

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

这是对的吗?属性是否必须有引号?

现在,它只是一个没有价值的属性。价值将在稍后添加。

3 个答案:

答案 0 :(得分:2)

对我来说很好看。我只想补充一点,即使你想把属性留空,你应该给它一个空字符串作为一个值。

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

通过不传递值(即使是空字符串),您实际上正在为您真正想要调用setter的属性调用getter函数。

答案 1 :(得分:2)

这是你可以做的:

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

我希望它有所帮助。

答案 2 :(得分:1)

你需要这样做 -

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

您尝试.attr(attributeName)的内容用于访问属性值

  

说明:获取第一个元素的属性值   匹配元素的集合。

见api:

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.