2016-05-06 4 views
0

У меня есть проблемы, попробовал все, но переменные всегда неопределенные =/получить HREF атрибута 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 и заменить шоу нагрузки Div после этого без изменение ссылки или перезагрузка страницы, ссылки генерируются в php и всегда меняются, поэтому я не могу иметь статические ссылки.

+0

Вы, кажется, ищите привязывающий тег внутри тега привязки, который вы нажали, попробуйте удалить '.find ('a')' – DBS

ответ

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 
+2

на 15 секунд быстрее меня. –

+1

Спасибо! который работал – EvilNabster

+1

или даже 'this.href' – epascarello

0

Я хотел бы использовать это:

.... your code 
$('a').click(function (e) { 
    var a_href = $(this).attr('href'); 
    .... your code 
Смежные вопросы