1

我正在尝试将“值”作为 attributeName 分配给 jQuery 对象。但是,我收到“对象不支持此属性或方法”错误。这是行:

$(rowElem).attr("value","");

我想我收到了这个错误,因为 jQuery 将“值”这个词视为另一种方法而不是属性。我很乐意感谢你们的帮助。提前致谢!:)

4

5 回答 5

1

嗨,你做错了,Jquery 需要一个选择器,无论是它的 id 、 class 还是 tagname

对于Id,您需要添加前缀“#”对于Class,您需要添加前缀“.” 并按原样标记名称....

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

$("#rowElem").attr("value","My New VAlue");
于 2013-10-24T06:21:34.920 回答
0

每当您使用价值时,我认为您将使用的唯一 jquery 是

$(rowElem).val("");

但是,将“值”用作任何其他属性并不是一个好习惯,您可以使用 HTML5 将自己的属性设置为

<tr data-value="somevalue" />

并使用类似的属性

$(rowElem).attr("data-value", "");

您可以使用该属性的值,例如

var val = $(rowElem).attr("data-value");
于 2013-10-24T06:21:43.103 回答
0

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

即,如果您访问backbonejs.org 并在控制台中输入以下内容:

if(jQuery)
    console.log('jQuery has loaded');
    // logs 'jQuery has loaded'
var rowElem = 'div';
$(rowElem).attr('value', '');

它成功地为 div 添加了“价值”。

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

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,你的问题应该得到解决。

于 2013-10-24T06:53:27.093 回答
-1

jquery 或 javascript 中没有这样的属性。两者都将值视为一个单独的函数。

您可以尝试使用:

jquery: $(rowElem).val("urVal");
javascript: rowElement.value = "urVal";
于 2013-10-24T06:21:07.303 回答
-1

使用这个..在 val 中提供值

$(rowElem).val("value");

希望它有效...

于 2013-10-24T06:25:39.653 回答