jquery警报表示未定义

jquery警报表示未定义,jquery,alert,Jquery,Alert,嗨,我正试图让alert方法显示值c8,但它只是说未定义 我不熟悉html和jquery;这很简单,但我就是看不见 <!DOCTYPE html> <html> <head> <script type="text/javascript" src="jquery/jquery-1.7.1.js"></script> <script> $(document).ready(function(){

嗨,我正试图让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>

$(文档).ready(函数(){
$(“按钮”)。单击(函数(){
//$(“#div1”).load(“hs.php”);
//$(“#div1”)。加载(“http://127.0.0.1:81/tenHsServer/tenHsServer.aspx?t=ab&f=DeviceStatus&d=A1");
$(“#div1”)。加载(“http://127.0.0.1:81/tenHsServer/tenHsServer.aspx?t=ab&f=ToggleDevice&d=c8");
警报($(this.prev().attr(“.class”);
});
});
让jQuery AJAX更改此文本
获取外部内容

属性名称前不需要点:

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

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

删除
.class
中的

alert($(this).prev().attr("class"));
您应该改用
.attr(“class”)
(不带

,因为prev()仅用于同级。你的按钮是该分区的子项

你应该去:

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

该按钮没有同级
。prev()
用于选择上一个同级,您要针对的元素是它的父元素,因此请使用
.parent()
来选择它。此外,仅当类是选择器的一部分时,才使用点(
)作为类的前缀

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

你能把这个放到JSFIDLE里吗?另外,我相信它应该是attr(“class”)而不是“.”(句号)@ohgod为什么最初我也认为这是个问题,但这只是一个可怕的缩进。这里没有
.load()
回调。@Matt Ball接得好。我会送出去的。