猿问

一个展开/收起效果,不知道问题在哪

var hidePart=$(".hide-part");//需要被隐藏的部分
var unfoldBtn=$(".unfold");//展开收起按钮
hidePart.hide();
    unfoldBtn.click(function(){
    	if(unfoldBtn.text()=="展开"){
		    	unfoldBtn.html("收起<i></i>");//i标签放了一个箭头的背景图片
		    }else{
		    	unfoldBtn.html("展开<i></i>");
            }           
	hidePart.toggle();
	unfoldBtn.find("i").toggleClass("i-up");//改变背景图片   
    })

现在情况是点击之后,前面正常,最后一行改变背景的效果没有出现,但是把改变文字的整个IF语句注释掉以后,剩余的两行代码又能工作正常,难道是最后一行代码和IF语句里的代码有什么冲突?

Tax1
浏览 1495回答 3
3回答

高jay

多了两个i标签内容就变了,下次判断text()内容就不对了。

Tax1

@Gooooo0不用.html()用.text()的话背景图片就直接没有了

Gooooo0

unfoldBtn.html("收起<i></i>")unfoldBtn.html("展开<i></i>");换成 unfoldBtn.test("收起")unfoldBtn.test("展开");
随时随地看视频慕课网APP

相关分类

JQuery
我要回答