Javascript 单击“删除并替换附加”
我在jquery中添加了一个“字符串”,希望删除它并在其上添加一个新的“字符串” 创建了一个简单的标记来显示Javascript 单击“删除并替换附加”,javascript,jquery,Javascript,Jquery,我在jquery中添加了一个“字符串”,希望删除它并在其上添加一个新的“字符串” 创建了一个简单的标记来显示 <a href="#">Test</a> <button>remove</button> var c = " closed"; var o = " open"; $("a").append(c); $("button").click(function(){ $("a").find(c).replaceWith(o); $("a").
<a href="#">Test</a>
<button>remove</button>
var c = " closed";
var o = " open";
$("a").append(c);
$("button").click(function(){
$("a").find(c).replaceWith(o);
$("a").append(o);
});
去除
var c=“已关闭”;
var o=“打开”;
$(“a”)。附加(c);
$(“按钮”)。单击(函数(){
$(“a”)。查找(c)。替换为(o);
$(“a”)。附加(o);
});
Jquery使用的是元素,而不是文本
var c = " closed";
var o = " open";
var el_c = $('<span>').text(c);
var el_o = $('<span>').text(o);
$("a").append(el_c);
$("button").click(function(){
el_c.replaceWith(el_o);
});
var c=“已关闭”;
var o=“打开”;
var el_c=$('').text(c);
变量el_o=$('').text(o);
$(“a”)。附加(el_c);
$(“按钮”)。单击(函数(){
el_c.替换为(el_o);
});
您需要将字符串封装到一个SPAN或DIV中,并按如下方式进行更改:
<a href="#">Test <span>closed</span></a>
$('a span').html(o);
或:
你的全部可以用
$("button").click(function() {
($("a span").text() === "open") ? $("a span ").text("close") : $("a span").text("open");
});
使用
html()检查此解决方案
var c=“已关闭”;
var o=“打开”;
变量a=$(“#锚”);
a、 附加(c);
$('#btn')。单击(函数(){
var txt=a.text();
变量前缀='测试';
如果(txt.indexOf(c)!=-1){
a、 html(前缀+o);
}else if(txt.indexOf(o)!=-1){
a、 html(前缀+c);
}
});代码>
删除
我想这支笔可以实现您想要实现的目标:
不能使用jQuery的find()和replace方法替换文本。它们在dom元素上工作,而不是在字符串上。使用text函数设置链接的文本,并使用JavaScript的原生replace函数进行文本替换。
为了澄清,以下代码与上述代码相同,但可能更容易理解:
var c = " closed";
var o = " open";
$("a").append(c);
$("button").click(function(){
var linkText = $("a").text();
var replacedText = linkText.replace(c, o);
$("a").text(replacedText);
});
使用两个不同的类创建两个跨度。命名为“关闭”和“打开”。
然后是一面旗帜
var s_c = '<span class="close">close</span>';
var s_o = '<span class="open">open</span>';
var flag = 'c';
$("a").append(s_c);
$("button").click(function(){
if(flag == 'c')
{
$("a").find('span').remove();
$("a").append(s_o);
flag = o;
}
if(flag == 'o')
{
$("a").find('span').remove();
$("a").append(s_c);
flag = c;
}
});
var s_c='close';
var s_o='开放';
var标志='c';
$(“a”)。附加(s_c);
$(“按钮”)。单击(函数(){
如果(标志=='c')
{
$(“a”).find('span').remove();
$(“a”)。附加(s_o);
flag=o;
}
如果(标志='o')
{
$(“a”).find('span').remove();
$(“a”)。附加(s_c);
flag=c;
}
});
请记住,此代码用于切换文本。。。!一次追加打开一次关闭。。。
如果你只寻找一次,有人会在上面回答。祝你好运
然后发生了什么?我只想在标签内点击改变字符串。我正在慢慢地学习我的方法,我带着这个来了,但不知道这有多有效?或者实际上效果更好,谢谢!
var c = " closed";
var o = " open";
$("a").append(c);
$("button").click(function(){
var linkText = $("a").text();
var replacedText = linkText.replace(c, o);
$("a").text(replacedText);
});
var s_c = '<span class="close">close</span>';
var s_o = '<span class="open">open</span>';
var flag = 'c';
$("a").append(s_c);
$("button").click(function(){
if(flag == 'c')
{
$("a").find('span').remove();
$("a").append(s_o);
flag = o;
}
if(flag == 'o')
{
$("a").find('span').remove();
$("a").append(s_c);
flag = c;
}
});