2016-08-18 51 views
1

我想在laravel 5.2來從<a> taghref鏈接 - view(blade)但它顯示undefined。我並不完全明白代碼有什麼問題。任何幫助,將不勝感激!無法從<a>標籤讀取HREF使用jQuery

這裏的視圖代碼:

<a href="{{URL::to('/page/'.$Ids->id)}}" class="clicked-btn" id = 'link'> 
    <div class=""> 
    <img src="{{ asset('img/p1.jpg') }}" class='btn-img'> 
    </div> 
</a> 

這裏的jQuery的

$(document).on('click', '.clicked-btn', function(e){ 
    e.preventDefault(); 
    var getLink=this.href; 
    console.log(getLink); 
} 

我也試過:

$(this).attr('href'); 

UPDATE 我認爲這個視圖存在一些問題。當我檢查的元素,我不知道爲什麼它變成:

<div class="clicked-btn" id="link"> 
    <a href="{{URL::to('/page/'.$Ids->id)}}"> 
    <div class=""> 
     <img src="{{ asset('img/p1.jpg') }}" class='btn-img'> 
    </div> 
</a> 
</div> 
+0

'$(this).attr('href')'是正確的用法。你可能在你的視圖中有些東西,而不是在jQuery中,attr沒有設置。 –

+1

你的兩種方法都可以工作,儘管他們會給你不同的價值。 'this.href'使用'href'反射屬性,這將是一個完全解析的URL。 '$(this).attr(「href」)'會爲你提供'href' **屬性**的文字內容,它可能是一個相對URL,只是一個散列片段等。 –

+0

@DenisMatafonov如果可以的話檢查更新請 – NewBee

回答

0

我不真的知道,這個代碼是多麼常規,但看到檢查元素的代碼,我努力阻止html結構的變化。失敗了,我終於用這樣的:

$(this).children("a").attr('href'); 

我還是開到更好的解決方案,如果任何人有-DO的份額。這只是幫助面臨同樣問題的人做出的貢獻。

-1

這個Javascript將與更新前的第一個HTML代碼工作...

$(document).on('click', '.clicked-btn', function() { 
 
var el = $(this); 
 
console.log(el.attr('href')); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a href="http://www.ex.com" class="clicked-btn" id = 'link'> 
 
    <div class=""> 
 
    some code 
 
    </div> 
 
</a>