首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将attributeName设置为"value“

如何将attributeName设置为"value“
EN

Stack Overflow用户
提问于 2013-10-24 14:17:24
回答 5查看 126关注 0票数 1

我尝试将“attributeName”作为值分配给一个jQuery对象。然而,我得到了“对象不支持这个属性或方法”的错误。下面是这行代码:

代码语言:javascript
运行
复制
$(rowElem).attr("value","");

我想我得到这个错误是因为jQuery将单词“值”当作另一种方法,而不是属性。我将很高兴感谢你们的帮助。提前感谢!:)

EN

回答 5

Stack Overflow用户

发布于 2013-10-24 14:21:35

您好,您做错了,Jquery需要一个选择器,无论它的id、类还是标记名

对于Id,你需要添加前缀"#“;对于

,你需要添加前缀”。和标记名称的原样....

所以你的固定代码是这样的

代码语言:javascript
运行
复制
$("#rowElem").attr("value","My New VAlue");
票数 1
EN

Stack Overflow用户

发布于 2013-10-24 14:21:43

当您使用value时,我认为您唯一会使用的jquery是

代码语言:javascript
运行
复制
$(rowElem).val("");

然而,使用'value‘作为任何其他属性并不是一个好的做法,您可以使用HTML5将您自己的属性设置为

代码语言:javascript
运行
复制
<tr data-value="somevalue" />

并使用下面的属性

代码语言:javascript
运行
复制
$(rowElem).attr("data-value", "");

您可以使用该属性的值,如下所示

代码语言:javascript
运行
复制
var val = $(rowElem).attr("data-value");
票数 0
EN

Stack Overflow用户

发布于 2013-10-24 14:53:27

我们可以看到代码没有任何错误。看起来您没有在DOM中加载jQuery。请看我下面的测试。

例如,如果您转到backbonejs.org并在控制台中键入以下内容:

代码语言:javascript
运行
复制
if(jQuery)
    console.log('jQuery has loaded');
    // logs 'jQuery has loaded'
var rowElem = 'div';
$(rowElem).attr('value', '');

它成功地将“值”添加到div。

但是,如果您使用的站点没有像underscorejs.org这样的jQuery,它将无法工作:

代码语言:javascript
运行
复制
if(jQuery)
    console.log('jQuery has loaded');
    // ReferenceError: jQuery is not defined
var rowElem = 'div';
$(rowElem).attr('value', '');
// TypeError: Object #<HTMLDivElement> has no method 'attr'

你需要让它访问jQuery,你的问题就应该解决了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19558359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档