单击jQuery获取href属性

时间:2016-05-06 20:57:02

标签: javascript jquery

我遇到了麻烦,尝试了一切但变量总是未定义= /

<!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中生成并且总是改变这就是为什么我不能拥有静态链接。

2 个答案:

答案 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