我是一个非常喜欢保持代码整洁的粉丝,但是我对javascript还只是个初学者。我想知道下面的代码是否可以写得更好/更干净:
<script language="javascript" type="text/javascript">
$('.clickMe').click(function() {
$('.refine_icon').toggleClass("opened");
$('.advancedSearch').slideToggle(400);
$(this).text($(this).text() == 'More search options' ? 'Fewer search options' : 'More search options');
return false;
});
</script>发布于 2011-02-20 10:05:19
代码看起来很好,对于一些简单的东西,不能有太大的改进。不过,我会使用适当的缩进:
$('.clickMe').click(function() {
$('.refine_icon').toggleClass("opened");
$('.advancedSearch').slideToggle(400);
$(this).text($(this).text() == 'More search options' ? 'Fewer search options' : 'More search options');
return false;
});您可以做的一件事是用jQuery的preventDefault()替换return false;。返回false不仅可以停止浏览器的默认行为,还可以防止事件在DOM树上冒泡。通常这不是问题,但如果你对编写副作用最小的代码感兴趣,那么这是一条可行的道路:
$('.clickMe').click(function (e) { // Notice the e
e.preventDefault();
// Rest of your code
});jQuery Fundamentals是一本全面的在线书籍,解释了JavaScript和jQuery的基础知识(尽管重点是jQuery )。
https://stackoverflow.com/questions/5054780
复制相似问题