Javascript 如何更改a<;的文本;span>;元素?
我有一个要添加到iFrame的切换按钮:Javascript 如何更改a<;的文本;span>;元素?,javascript,jquery,Javascript,Jquery,我有一个要添加到iFrame的切换按钮: <script> $('#list div').each(function(){ $(this).append('<span class="togglebutton">Maximize</span>'); }); $("span.togglebutton").click(function() { $(this).closest("li").children
<script>
$('#list div').each(function(){
$(this).append('<span class="togglebutton">Maximize</span>');
});
$("span.togglebutton").click(function() {
$(this).closest("li").children("div").toggleClass("maximized");
});
</script>
$('#list div')。每个(函数(){
$(this.append('Maximize');
});
$(“span.togglebutton”)。单击(函数(){
$(此).li.children.toggleClass(“最大化”);
});
当toggleClass最大化时,如何更改文本最大化/最小化之间的切换
$(this).text('New Text');
或
确定状态
if ($this.text() == 'Maximized') {
$(this).text('Minimized');
} else {
$(this).text('Maximized');
}
嗯,如果您正在寻找像
toogleClass()
这样的函数来为您完成这项工作,那么您就不走运了。好吧,你必须手动操作
做这样的事
function toggleText() {
var curText = $("span.togglebutton").text();
var newText;
if(curText=="Maximize") { newText = "Minimize"; }
else { newText = "Maximize"; }
$("span.togglebutton").text(newText);
}
现在,您可以在想要切换它的地方愉快地调用它。像
$("span.togglebutton").click(function() {
$(this).closest("li").children("div").toggleClass("maximized");
toggleText();
});
没有“切换按钮”这样的东西。那只是一个
。这会更改文本,但现在当我再次单击span时,它仍然是“新文本”,此时我希望它恢复为“最大化”,添加一个简单的条件以检查文本的当前值。。。我将更新演示这将是伟大的,我尝试了上述答案中的功能,没有运气。谢谢这是好的,除了我如何确定跨度的状态?基本上,当我点击span时,我希望它显示“最大化”,然后当我再次点击span时,我希望它显示“最小化”视图编辑@jondavidjohn,我理解,他没有指定要更改的内容。是的,但他的文本显示“切换按钮
”。谢谢,这很有意义。不幸的是,当我在脚本标记中添加函数时,它不会在最大化和最小化之间更改文本。当我做控制台日志时,似乎Maximize被调用了两次。尝试使用Id选择器而不是类选择器。我认为罪魁祸首是==和===在简短的比较中:)
function toggleText() {
var curText = $("span.togglebutton").text();
var newText;
if(curText=="Maximize") { newText = "Minimize"; }
else { newText = "Maximize"; }
$("span.togglebutton").text(newText);
}
$("span.togglebutton").click(function() {
$(this).closest("li").children("div").toggleClass("maximized");
toggleText();
});
$("span.togglebutton").toggle(function() {
$(this).closest("li").children("div").addClass("maximized")
$(this).text("Maximized Text");
},function(){
$(this).closest("li").children("div").removeClass("maximized")
$(this).text("Minimized Text");
});