我遇到了麻烦,尝试了一切但变量总是未定义= /
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#show").load("index.php");
});
$(document).on('click', ' a[href]', function (e) {
var a_href = $(this).find('a').attr('href');
alert ("Href is: "+a_href); //just for test
$("#show").load(a_href);
return false;
});
</script>
</head>
<body>
<a href="one.php">One</a>
<br>
<a href="two.php">two</a>
<div id="show"></div>
</body>
</html>
我实际上想要从#show div获取链接并在它之后替换show div load而不更改链接或重新加载页面,链接在php中生成并且总是改变这就是为什么我不能拥有静态链接。
答案 0 :(得分:2)
您已经选择了.on('click', ' a[href]',
的链接,因此$(this).find('a')
正在寻找一个链接,该链接是您点击的链接的后代,但该链接不存在。
变化:
$(this).find('a').attr('href')
到
$(this).attr('href') // jQuery
或
this.href // plain JavaScript as noted by epascarello
答案 1 :(得分:0)
我会用这个:
.... your code
$('a').click(function (e) {
var a_href = $(this).attr('href');
.... your code