你好我想在这里做的是我生成HTML链接锚标记列表:
<a href="/path/100" id="clickme">One link</a>
<a href="/path/101" id="clickme">Sec link</a>
<a href="/path/102" id="clickme">Third link</a>
<a href="/path/103" id="clickme">Fourth link</a>
我想火Ajax
调用特定的URL,当有人对任何链接的徘徊。 所以我注册一个hover()
函数像这样为这个ID:
$('#clickme').hover(function(){
$.ajax({
beforeSend : function(jqXHR){
//Doin something
},
url: //should be the url from the anchor tag that fired this event(how to get it??),
success: function(data) {
//Doin something
},
error: function(jqXHR){
//Doin something
}
});
});
我的问题是如何传递锚标记为对象或东西,这样我可以取回任何我想要像href
,链接等的位置..
对于单锚标记,它正在而是multiplle not..Please帮助我。 提前致谢。
ID应该永远是唯一的(这就是为什么它被称为ID)..让它类和使用类选择
HTML
<a href="/path/100" class="clickme">One link</a>
<a href="/path/101" class="clickme">Sec link</a>
<a href="/path/102" class="clickme">Third link</a>
<a href="/path/103" class="clickme">Fourth link</a>
jQuery的
$('.clickme').hover(function(){
var $this=$(this);
$.ajax({
beforeSend : function(jqXHR){
//Doin something
},
url: //should be the url from the anchor tag that fired this event(how to get it??),
data:{'href':$this.attr('href')}, //this will send '/path/100' as href if u click first link
success: function(data) {
//Doin something
},
error: function(jqXHR){
//Doin something
}
});
});
您应该使用类,而不是使用同一个ID为多个对象,并使用this.href
为每个对象。 到不止一个HTML元素分配相同的ID是不允许的,但你可以做到这一点。
<a href="/path/100" id="clickme" class="someclass">One link</a>
<a href="/path/101" id="clickme" class="someclass">Sec link</a>
<a href="/path/102" id="clickme" class="someclass">Third link</a>
<a href="/path/103" id="clickme" class="someclass">Fourth link</a>
$('.someclass').hover(function(){
$.ajax({
beforeSend : function(jqXHR){
//Doin something
},
url: //should be the url from the anchor tag that fired this event(how to get it??),
success: function(data) {
//Doin something
},
error: function(jqXHR){
//Doin something
}
});
});
您可以使用$(this)
中,如果您的悬停事件处理程序来获取href属性。 而其他的答案是关于使用类而不是ID的正确。 下面的例子中被设置为使用的“clickme”一类,而不是一个id。
$('.clickme').hover(function(){
var $this = $(this);
var theUrl = $this.attr('href');
$.ajax({
beforeSend : function(jqXHR){
//Doin something
},
url: theUrl
success: function(data) {
//Doin something
},
error: function(jqXHR){
//Doin something
}
});
});
它不工作,因为ID是唯一的,jQuery将只看到一个ID的第一个实例。
<a href="/path/100" class="clickme">One link</a>
<a href="/path/101" class="clickme">Sec link</a>
<a href="/path/102" class="clickme">Third link</a>
<a href="/path/103" class="clickme">Fourth link</a>
JS
$('.clickme').mouseenter(function(){
var href = $(this).attr('href');
$.ajax({
url : href
});
});
文章来源: How to pass URL for dynamically generated anchor tags to jQuery hover() function??