我在下面有这段代码:
<html>
<head>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script src="http://ui.jquery.com/latest/ui/effects.core.js"></script>
<style type="text/css">
p { cursor: pointer; font-size: 1.2em; }
.selected { color:red; }
</style>
<script>
$(document).ready(function() {
$('p').click(function () {
$(this).removeClass('selected', 1000);
$(this).removeAttr('class');
//$(this).removeAttr('style');
});
});
</script>
</head>
<body style="font-size:62.5%;">
<p class="selected">Click me to remove 'selected' class.</p>
<p class="selected">Click me to remove 'selected' class.</p>
<p class="selected">Click me to remove 'selected' class.</p>
</body>
</html>
因此,当我点击任何<p>
时,该类会被删除,并且属性类也会被删除。然而,会发生的是代码样式=“”被注入<p>
的内联。
为什么会发生这种情况,如何将其删除?点击<p>
元素后,对我来说<p>
的新定义应仅为<p>some text goes here</p>
答案 0 :(得分:3)
为什么风格是因为jquery-ui removeclass(),虽然它不在文档中似乎有更多的参数(参见soruce),你可以使用它来使用回调在动画完成后运行:
$(document).ready(function() {
$('p').click(function () {
$(this).removeClass('selected', 1000, function() {
$(this).removeAttr('style').removeAttr("class");
});
});
});
(我不确定你为什么要这样做)。
演示:http://jsbin.com/opucon/2/(结果演示)