单击btn toggleClass并使用jQuery更改文本

单击btn toggleClass并使用jQuery更改文本,jquery,Jquery,我正在处理一些ContentBlock,当我点击一个按钮时需要切换。它现在就可以工作了,但是当它聚焦或激活并且内容被切换时,我的按钮上的文本不会改变。请参阅下面的代码(还显示未捕获语法错误:意外标识符) $(“.mobile选项卡”)。单击(函数(){ $(this).parent().children(.content”).toggleClass(“打开”,函数()){ if($(this.parent().children(“.content”).hasClass(“open”)){ $(

我正在处理一些ContentBlock,当我点击一个按钮时需要切换。它现在就可以工作了,但是当它聚焦或激活并且内容被切换时,我的按钮上的文本不会改变。请参阅下面的代码(还显示未捕获语法错误:意外标识符)

$(“.mobile选项卡”)。单击(函数(){
$(this).parent().children(.content”).toggleClass(“打开”,函数()){
if($(this.parent().children(“.content”).hasClass(“open”)){
$(this).parent().children(“.mobile tab”).children(“.symbol”).text(“Sluiten-”);
}否则{
$(this).removeClass(“open”).parent().children(.mobile tab”).children(.symbol”).text(“Lees meer+”);
}
});
});

程序
一些randowm内容

利斯梅尔+
我删除了您的一些代码,因为它根本不需要

看看下面的示例,它现在更改了
symbol

$(“.mobile选项卡”)。单击(函数(){
$(this.parent().find(“.content”).toggleClass(“open”);
if($(this.prev(“.content”).hasClass(“open”)==true){
$(this.find(“.symbol”).text(“Sluiten-”);
}否则{
$(this.find(“.symbol”).text(“Lees meer+”);
}
});
.content{
显示:无;
}
.content.open{
显示:块;
}

程序
一些randowm内容

利斯梅尔+

程序 一些randowm内容

利斯梅尔+

程序 一些randowm内容

利斯梅尔+
我删除了您的一些代码,因为它根本不需要

看看下面的示例,它现在更改了
symbol

$(“.mobile选项卡”)。单击(函数(){
$(this.parent().find(“.content”).toggleClass(“open”);
if($(this.prev(“.content”).hasClass(“open”)==true){
$(this.find(“.symbol”).text(“Sluiten-”);
}否则{
$(this.find(“.symbol”).text(“Lees meer+”);
}
});
.content{
显示:无;
}
.content.open{
显示:块;
}

程序
一些randowm内容

利斯梅尔+

程序 一些randowm内容

利斯梅尔+

程序 一些randowm内容

利斯梅尔+
代码的第一个问题是,当
toggleClass()方法没有回调函数时,您正在为该方法提供回调函数。该调用是同步的,因此您可以将
if
语句放在它后面

其次,您的DOM遍历不太正确,并且会受到删除上述函数的影响。要修复它,您可以使用
sibbines()
获取
.content
元素,只需
find()
子元素
.symbol
,如下所示:

$(“.mobile选项卡”)。单击(函数(){
var$content=$(this.this(“.content”).toggleClass(“open”);
var$symbol=$(this.find('.symbol');
$symbol.text($content.hasglass(“open”)?'Sluiten-':'Lees meer+');
});
.content{display:none;}
.content.open{display:block;}

程序
内容
利斯梅尔+

代码的第一个问题是,当
toggleClass()方法没有回调函数时,您正在为该方法提供回调函数。该调用是同步的,因此您可以将
if
语句放在它后面

其次,您的DOM遍历不太正确,并且会受到删除上述函数的影响。要修复它,您可以使用
sibbines()
获取
.content
元素,只需
find()
子元素
.symbol
,如下所示:

$(“.mobile选项卡”)。单击(函数(){
var$content=$(this.this(“.content”).toggleClass(“open”);
var$symbol=$(this.find('.symbol');
$symbol.text($content.hasglass(“open”)?'Sluiten-':'Lees meer+');
});
.content{display:none;}
.content.open{display:block;}

程序
内容
利斯梅尔+
var btnText=[“Lees meer+”,“Sluiten-”];
$(“.mobile选项卡”)。单击(函数(){
var$me=$(这个);//你好,是我
var$content=$(this.closest(“.parentHellYeah”).find(“.content”);
$content.toggleClass(“打开”);
var isOpen=$content.hasClass(“打开”);
$me.text(btnText[+isOpen]);
});
.parentHellYeah.content{
显示:无;
}
.ParentHell是的,内容开放{
显示:块;
}
.手机标签{
背景:金;
}

程序
内容?
利斯梅尔+
var btnText=[“Lees meer+”,“Sluiten-”];
$(“.mobile选项卡”)。单击(函数(){
var$me=$(这个);//你好,是我
var$content=$(this.closest(“.parentHellYeah”).find(“.content”);
$content.toggleClass(“打开”);
var isOpen=$content.hasClass(“打开”);
$me.text(btnText[+isOpen]);
});
.parentHellYeah.content{
显示:无;
}
.ParentHell是的,内容开放{
显示:块;
}
.手机标签{
背景:金;
}

程序
内容?
利斯梅尔+

请根据请求添加html代码:Programma