嗨,我正在尝试使用警报方法来显示值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>
答案 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")
代替(.
)