警告我总是未定义......为什么?
<script type="text/javascript">
$(document).ready(function(){
$("#menu ul li").click(function() {
var path = $(this).attr("href");
alert (path);
$.get(path, function(data) { $("#texte").html(data); });
return false;
});
});
</script>
</head>
<body>
<div id="wrapper">
<div id="menu">
<ul>
<li><a href="pulse/data/blocks/intro.html">Intro</a></li>
<li><a href="pulse/data/blocks/presentation.html">presentation</a></li>
<li><a href="pulse/data/blocks/pourquoi.html">pourquoi ?</a></li>
<li><a href="pulse/data/blocks/forfaits.html">forfaits</a></li>
</ul>
</div>
答案 0 :(得分:9)
您需要选择a
标记。
var path = $('a', this).attr("href");
答案 1 :(得分:2)
您需要选择元素:
$(document).ready(function(){
$("#menu ul li").click(function() {
var path = $(this).find("a").attr("href");
alert (path);
$.get(path, function(data) { $("#texte").html(data); });
return false;
});
});
答案 2 :(得分:2)
因为您在LI元素上分配了click-handler,而不是A元素。
这是正确的:
$("#menu a")
答案 3 :(得分:2)
您正在查看列表项href
的{{1}}。将您的代码更改为以下内容:
li
答案 4 :(得分:2)
您正在尝试获取href
元素的li
属性。您可能正在寻找href
元素上的a
属性。请改用此选择器:
$("#menu ul li a")
也可以通过从选择器中删除ul
或li
来减少它。
答案 5 :(得分:2)
问题是$(this)
引用了<li>
元素而不是它的链接。您可以使用以下选择器来解决此问题:
var path = $("a", $(this)).attr("href");
答案 6 :(得分:1)
你错过了一个标签。
$("#menu ul li a").click
答案 7 :(得分:1)
您的JQuery引用了错误的元素: 您需要引用UL LI A元素,而不是引用UL Li元素,如下所示:
$(document).ready(function(){
$("#menu ul li **a**").click(function() {
var path = $(this).attr("href");
alert (path);
$.get(path, function(data) { $("#texte").html(data); });
return false;
});
});