2014-09-02 58 views
1

请参见下面的代码。点击后,文本变粗。我希望能够通过点击相同的按钮在“正常”和“粗体”文本之间切换。我怎么能做到这一点?如何切换一个。对(“点击”)功能

$("#InputsWrapper").on("click", ".boldText", function (e) { 
    e.preventDefault(); 
    $(this).parent().find(".fTypex").css({"font-weight":"bold"}); 
}); 

回答

2

的更好的方法是用toggleClass切换类:

CSS:

.bold { font-weight: bold; } 

的JavaScript:

$('#InputsWrapper').on('click', '.boldText', function(e) { 
    $(this).parent().find('.fTypex').toggleClass('bold'); 
    e.preventDefault(); 
}); 

DEMO:http://jsfiddle.net/bz9wnh6m/

+0

漂亮的一个例子!谢谢。 – Nelie 2014-09-02 16:04:37

0

EDITED:

HTML:

<a href="#" class="boldtrigger">Bold</a> 
<div class="text"> Here is the text </div> 

JS:

$(".boldtrigger").click(function() { 
    $(".text").toggleClass("bold"); 
}); 

下面是JQUERY工作示例2.0+使用toggleClass()方法:http://jsfiddle.net/S9qDD/

干杯!

+0

'toggle'事件已被弃用,并从jQuery的最新版本中彻底删除。 – VisioN 2014-09-02 16:02:47

+0

是的,我刚刚发现。这是一个更新的。 – Andrew 2014-09-02 16:10:01

+0

FWIW,您的解决方案将从1.0版开始工作... – VisioN 2014-09-02 16:11:33

0

你想要什么.toggleClass()方法。 这里是一个link

<script> 
$("#InputsWrapper").on("click", ".boldText", function (e) { 
e.preventDefault(); 
    $(this).parent().find(".fTypex").toggleClass("bold-text"); 
}); 
</script> 
<style> 
.bold-text{ 
    font-weight":"bold; 
} 
</style>