Javascript 单击“删除并替换附加”

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").

我在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").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;
    }
});