2013-05-25 3 views
-2

Я тестирую скрипт, который позволит одноклассникам, чтобы загрузить картинку, и я использую этот код:

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.

+1

Как и где вы называете 'Prueba()'? Эта информация будет определять значение переменной this. – acdcjunior

+0

Я думаю, что '' это 'окно' в вашем контексте –

+0

с onclick в a li – user2371984

ответ

0

Вы можете установить атрибут «стиль», так что вы, вероятно, хотите, чтобы прочитать его, либо:

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

Или попробуйте перефразировать ваш вопрос не ясно, что вы хотите.

+0

Я хочу использовать $ (this) in mi test – user2371984

+0

Не работает: -/thx – user2371984

0

Я думаю, что вы не в контексте события/элемента. Обычно мы используем это для конкретного элемента html. В этом случае вы вызываете функцию. поэтому он может не работать.

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

В приведенном выше примере это будет работать.

+0

не работает ни – user2371984

2

Использование className:

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

Это должно работать, если Prueba является обработчик события (если это не встраивать).


Но в зависимости от того, что вы пытаетесь сделать, вы, вероятно, хотите использовать функцию JQuery, такие как hasClass:

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

Примечание: Вы должны назвать свою функцию prueba , заглавные инициалы зарезервированы для функций конструктора по соглашению.