Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery更改属性_Jquery_Attributes_Href_Rel - Fatal编程技术网

jquery更改属性

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

我有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).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');    
        })
    })