2013-01-25 59 views
2

我想要獲取使用jquery的錨標記的href值,而不是獲取絕對url,jquery只返回沒有文件部分的url:這就是我的意思:jQuery無法從href屬性獲取文件部分

我的HTML/PHP

$url = "http://localhost/mysite/assets/data.txt"; 
<a class='view-chart' href="<?php echo $url?>">View Chart</a> 

我的jQuery代碼:

var url = $('a.view-chart').attr('href'); 
alert(url); 

我得到這個警覺:

http://localhost/mysite/assets/ 

但是當我在瀏覽器中查看源代碼,我看到

http://localhost/mysite/assets/data.txt 

但是,如果我做的:

<a class='view-chart' href="http://localhost/mysite/assets/data.txt">View Chart</a> 

我得到正確的警告信息,即:

http://localhost/mysite/assets/data.txt 
+0

有沒有attr「url」,只是使用attr「href」 –

+2

@AlexandruCalin,你認真嗎? url是保存href attr的變量。 – tomexsans

+0

好吧,你剛剛編輯...但我知道我看到var'url = $('a.view-chart')。attr('url');'對不起,如果我錯了,否則。 –

回答

2

嘗試這個。它的工作對我來說在本地主機

<html> 
    <head> 
    <title></title> 
    <meta charset="utf-8"> 
    <script src="js/jquery-1.7.2.min.js" type="text/javascript"></script> 
    <script> 
     $(document).ready(function(){ 
      var url = $('a.view-chart').attr('href'); 
      alert(url); 
     }); 
    </script> 
    </head> 
    <body> 
    <?php $url = "http://localhost/mysite/assets/data.txt"; ?> 
    <a class='view-chart' href="<?php echo $url;?>">View Chart</a> 

    </body> 
</html> 
+0

這是什麼不對我工作 –

+0

True @roger它的工作,如果我作爲一個獨立的腳本運行它。對不起,我沒有提到我正在使用篝火 –

+0

你能告訴我你的鏈接的地方?由於我沒有與篝火合作,所以我現在還不確定。 – Roger

0

使用此代碼的工作正常

<?php 
$url = "http://localhost/mysite/assets/data.txt";?> 
<a class='view-chart' href="<?php echo $url?>">View Chart</a> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script> 
<script> 
    $(document).ready(function(){ 
     var url = $('a.view-chart').attr('href'); 
     alert(url); 
    }); 
</script> 

我想這個問題是在工作jQuery的執行力度

+0

這不太好用 –

0

試試這個

var url = $('a.view-chart:first').attr('href'); 

,如果你正在尋找第一個錨點的href。

或者您需要爲其中的每一個分配唯一的ID,因爲您有多個定位標記 ,然後使用ID獲取href。 Like

$('#anchrId').attr('href'); 
0

謝謝你們這是行得通的。問題是,有幾個環節,所以我改變了jQuery代碼這樣:

$(this).attr('href') 

你的回答給了我提示。

+2

嗯,沒有人真的清楚你的情況在這裏。你沒有在任何地方提到你需要點擊錨點,你寫的代碼適用於任何點擊。 –

+0

如果其他答案幫助您將它們標記爲解決方案並且提升它們,請不要添加您自己的答案。也選擇一個答案來標記你的問題已解決。 – hakre