jquery更改属性
我有4个链接,我需要更改rel属性中的href属性。 我知道我不能这样做,所以我正在尝试从href属性获取数据,设置一个新属性(rel),在其中插入数据,然后删除href attibute 基本上我是这样做的:jquery更改属性,jquery,attributes,href,rel,Jquery,Attributes,Href,Rel,我有4个链接,我需要更改rel属性中的href属性。 我知道我不能这样做,所以我正在尝试从href属性获取数据,设置一个新属性(rel),在其中插入数据,然后删除href attibute 基本上我是这样做的: $('div#menu ul li a').each(function(){ var lin = $(this).attr('href'); $('div#menu ul li a').attr('rel',lin); $(this).re
$('div#menu ul li a').each(function(){
var lin = $(this).attr('href');
$('div#menu ul li a').attr('rel',lin);
$(this).removeAttr('href');
})
})
它的工作,但它设置了相同的rel数据在每一个环节,我有
有什么帮助吗?试试看
$('div#menu ul li a').each(function(){
var lin = $(this).attr('href');
$(this).attr('rel',lin);
$(this).removeAttr('href');
})
})
实际上还没有运行代码…但是看起来应该可以了。更改:
$('div#menu ul li a').attr('rel',lin);
致:
你很可能是做错了。(意味着有更好的方法来做你正在尝试的事情)
但要回答你的问题:
$('#menu ul li a').each(function(){
var lin = $(this).attr('href');
$(this).attr('rel',lin).removeAttr('href');
});
下面是一个可靠的jquery解决方案:
$(function() {
$("a.selector").on("click", function() {
var trigger = $(this.hash);
trigger.removeAttr("id");
window.location.hash = this.hash;
trigger.attr("id", this.hash.replace("#",""));
return false;
});
});
这就是问题所在
$('div#menu ul li a').attr('rel',lin);
此行将更改应用于与选择器匹配的任何元素,在您的情况下
将匹配四个链接
--请改用此代码
$('div#menu ul li a').each(function(){
var lin = $(this).attr('href');
$(this).attr('rel',lin);
$(this).removeAttr('href');
})
})
$('div#menu ul li a')
=$(此)
在匿名函数中,您有两组右括号和圆括号。我甚至没有注意到额外的“})”。男人。。。我需要吃饭或睡觉。看起来我被打败了+祝你好运。
$('div#menu ul li a').attr('rel',lin);
$('div#menu ul li a').each(function(){
var lin = $(this).attr('href');
$(this).attr('rel',lin);
$(this).removeAttr('href');
})
})