我想在用户点击标签时将我改为旧版,我想只使用.replace函数。我的目的是学习如何替换方法。但是我做的功能不起作用。
<head>
<script type="text/javascript" src="jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function(){
$('a').click(function(){
$(this).attr('class').replace('me','old')
})
})
</script>
</head>
<body>
<a href="#" class="me">click</a>
</body>
答案 0 :(得分:3)
replace不是jQuery函数,它是string的函数。您可以阅读有关替换here的更多信息。要使用replace,可以将该属性作为字符串读取,替换该字符串的内容,然后再添加该属性。
如果你加载了jQuery,我不认为这是最好的方法。您可以使用设计用于执行这些操作的jQuery实用程序,如下所示:
$(this).toggleClass('me old');
这将打开和关闭(切换)这两个类名。实际上它会从一个切换到另一个。
文档:
答案 1 :(得分:2)
你正在获取类并且它不会影响类属性,你可以替换字符串然后将其设置为元素:
$('a').click(function(){
var cls = $(this).attr('class').replace('me','old')
$(this).removeClass('me').addClass(cls)
})
})
答案 2 :(得分:0)
请改为尝试:
<head>
<script type="text/javascript" src="jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function(){
$('a').click(function(){
var theclass = $(this).attr('class');
theclass = theclass.replace('me', 'old');
$(this).attr('class', theclass);
})
})
</script>
</head>
<body>
<a href="#" class="me">click</a>
</body>
这应该可以解决问题。 JSFiddle Link
答案 3 :(得分:0)
$('a').click(function(){
$(this).replaceWith('<a href="#" class="old">click</a>');
});
上的解决方案创建了一个bin