$(this).attr()不起作用

时间:2013-05-25 03:30:50

标签: javascript jquery

我正在测试一个允许我的同学上传图片的脚本,我正在使用此代码:

var SomeVar = this.class //or similar like this.attr('class')
$('body').attr('style', 'background-image:' + SomeVar)

然而,当我测试这段代码时:

function Prueba() {
    var hola = this.class
    alert(hola)
}

它提醒undefined

您可以在8a13.zzl.org找到该网页。

3 个答案:

答案 0 :(得分:2)

使用className

function Prueba() {
    var hola = this.className;
    alert(hola)
}

如果Prueba是事件处理程序(如果它不是内联的),这应该有效。


但是根据你想要做的事情,你可能想要使用jQuery函数,例如hasClass

if($('something').hasClass('someclass')) { // ...

注意:您应该将函数命名为prueba,大写的首字母按惯例保留给构造函数。

答案 1 :(得分:0)

您设置了“样式”属性,因此您可能希望阅读它:

var hola = $('body').attr('style');

或者尝试重新解释您的问题,因为您不清楚自己想要什么。

答案 2 :(得分:0)

我认为你不在事件/元素的上下文中。 我们通常将此用于特定的html元素。 在这种情况下,您正在调用一个函数。所以它可能不起作用。

$("yourelement").click(function() {
   alert($(this).val());
}

在上面的示例中,它将起作用。