2013-03-01 3 views
0

Привет, Я пытаюсь получить метод alert, чтобы показать значение c8, но он просто говорит undefined.jquery alert говорит undefined

Я новичок в html и jquery; это просто, но я просто не вижу этого.

<!DOCTYPE html> 
<html> 
    <head> 
    <script type="text/javascript" src="jquery/jquery-1.7.1.js"></script> 
    <script> 
     $(document).ready(function(){ 
     $("button").click(function(){ 
     //$("#div1").load("hs.php"); 
     //$("#div1").load("http://127.0.0.1:81/tenHsServer/tenHsServer.aspx?t=ab&f=DeviceStatus&d=A1"); 
     $("#div1").load("http://127.0.0.1:81/tenHsServer/tenHsServer.aspx?t=ab&f=ToggleDevice&d=c8"); 
     alert($(this).prev().attr(".class")); 
     }); 
     }); 
    </script> 
    </head> 
    <body> 
    <div id="div1"><h2>Let jQuery AJAX Change This Text</h2></div> 
    <span class='c8'><button>Get External Content</button></span> 
    </body> 
</html> 
+0

Можете ли вы поместить это в jsfiddle? Кроме того, я считаю, что он должен быть attr («класс») без «.». (период) –

+1

@Ohgodwhy изначально я думал, что это тоже проблема, но это просто ужасный отступ. Здесь нет обратного вызова '.load()'. –

+0

@Matt Ball Хороший улов. Я увижу себя. – Ohgodwhy

ответ

0

Вам не нужно точку перед именами атрибутов:

alert($(this).prev().attr("class")); 
0

В то время как в JQuery . вводит селектор класса, в этом случае вы просто хотите атрибут, называемый «класс».

Снимите . в .class:

alert($(this).prev().attr("class")); 
0

Вы должны использовать .attr("class") вместо (без .)

1

Потому что предыдущая() является только sibblings. ваша кнопка является дочерним элементом этого div.

Вы должны пойти:

alert($(this).parent().attr("class")); 
+0

спасибо, заменил prev родителем и удалил точку – user2125298

1

Кнопка имеет не братья .prev() не используется, чтобы выбрать предыдущий родственный элемент вы хотите предназначаться, поэтому его родительский использовать .parent(), чтобы выбрать его. Также вы добавляете только класс с точкой (.), когда он является частью селектора.

alert($(this).parent().attr("class"));