2010-11-12 2 views
1
<a class="some" id="1" href="/s/1/2">link 1</a> 
<a class="some" id="2" href="/s/2/3">link 1</a> 

<script> 
$(document).ready(function() { 
    $('.some').click(function() { 
     var id = this.id; 
     var link = $(this).css('href'); 
     alert(id); 
     alert(link); 
     return false; 
    }); 
}); 
</script> 

Когда я нажимаю на ссылку, я получаю правильный идентификатор, но ссылка «undefined». В чем проблема и как я могу это исправить?Get HREF property

ответ

5

Изменить

var link = $(this).css('href'); 

в

var link = $(this).attr('href'); 

.css() используется для получения/установки свойств CSS , .attr() используется для получения/установки атрибутов элементов.

1

Вы должны получить доступ к элементам атрибута, а не CSS свойство :-)

var link = $(this).attr('href'); 
1

Использование attr():

var link = $(this).attr('href'); 

Или просто:

var link = this.href; 

Ваш код должен выглядеть следующим образом:

$(document).ready(function() { 
    $('.some').click(function() { 
     var id = this.id; 
     var link = this.href; 
     alert(id); 
     alert(link); 
     return false; 
    }); 
});