jquery alert表示未定义

时间:2013-03-01 22:19:54

标签: jquery alert

嗨,我正在尝试使用警报方法来显示值c8,但它只是说未定义。

我是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>

5 个答案:

答案 0 :(得分:1)

因为prev()仅适用于sibblings。你的按钮是那个div的孩子。

你应该去:

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

答案 1 :(得分:1)

该按钮没有兄弟.prev()用于选择上一个兄弟,您想要定位的元素是其父元素,因此使用.parent()来选择它。此外,当它是选择器的一部分时,你只在前面添加一个点(.)。

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

答案 2 :(得分:0)

在属性名称之前不需要点:

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

答案 3 :(得分:0)

在jQuery中,.引入了类选择器,在这种情况下,您只需要一个名为“class”的属性。

删除.中的.class

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

答案 4 :(得分:0)

您应该使用.attr("class")代替(.