我声明了一个变量,但是它“没有定义”

时间:2017-05-21 04:18:52

标签: javascript jquery

我觉得这里是个完全白痴。有人能告诉我为什么这不起作用吗?

$(document).ready(function() {

var className = $(this).attr('id');
$(":button").addClass(className);


});

这可能听起来很愚蠢,但我想要做的就是选择页面上的所有按钮,并为其添加一个类名,其名称与已经附加到它的id完全相同。

它不起作用,当我打开控制台并输入className时,它告诉我没有定义className。

有人可能会告诉我为什么这会被贬低?或者为什么我的大多数问题都无缘无故地导致我禁止提问?

stackoverflow垃圾,还是只是使用垃圾的人?这真的很令人沮丧。

2 个答案:

答案 0 :(得分:1)

您的错误是您没有空间来应用您的想法。在你的情况下$(this)范围将依赖于Window对象或某些东西,你不希望这样。使用每个功能,您可以实现所需的正确范围。请尝试以下方法:

$(document).ready(function() {
$("button").each(function(){
     $(this).addClass($(this).attr('id'));
});

});

答案 1 :(得分:1)

您当前的n1 = int(input("First number: ")) n2 = int(input("Second number: ")) 未引用任何按钮。您需要将赋值嵌套在$(this)循环中,该循环将.each作为循环的按钮迭代器范围:

this