我是保持我的代码干净整洁的忠实粉丝,但我非常喜欢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>
答案 0 :(得分:2)
代码看起来很好,而且对于简单的东西来说无法改进很多。我会使用适当的缩进:
$('.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的return false;
替换preventDefault()
。返回false
不仅会停止浏览器的默认行为,还会阻止事件冒泡DOM树。通常这不是问题,但如果您对编写副作用最小的代码感兴趣,那么这就是要走的路:
$('.clickMe').click(function (e) { // Notice the e
e.preventDefault();
// Rest of your code
});
jQuery Fundamentals是一本全面的在线书籍,解释了JavaScript和jQuery的基础知识(虽然我们专注于jQuery)。