Javascript I';I’我想知道如何在不克隆文本元素的情况下克隆文本

Javascript I';I’我想知道如何在不克隆文本元素的情况下克隆文本,javascript,jquery,Javascript,Jquery,我试图做的是当我点击一个元素时,它会克隆到“b”标签中 以下是html: <ol> <li>y</li> <li>z</li> <li>x</li> </ol><b></b> 我得到了一个要点,因为我想要克隆的文本周围有“li”元素。既然这似乎是一种更好的做法,我该如何在克隆后摆脱它们,还是只克隆文本 以下是JFIDLE上的链接: 当你点击列表

我试图做的是当我点击一个元素时,它会克隆到“b”标签中

以下是html:

 <ol>
    <li>y</li>
    <li>z</li>
    <li>x</li>
  </ol><b></b>
我得到了一个要点,因为我想要克隆的文本周围有“li”元素。既然这似乎是一种更好的做法,我该如何在克隆后摆脱它们,还是只克隆文本

以下是JFIDLE上的链接:


当你点击列表中的“this”项时,它会返回项目符号,但我只想要文本

首先取出
b
元素文本,追加
li
文本并添加覆盖
b
文本:

$('li').click(function () {
    $('b').html($('b').html() + '<br>' + $(this).html());
});
$('li')。单击(函数(){
$('b').html($('b').html()+'
'+$(this.html()); });
下面是一个活生生的例子:

当然,您可以使用空格、新行或其他任何形式来代替

$(“li”)。单击(函数(){
文本='';
var oldtext=$('b').text();
var newtext=$(this.text();
文本=旧文本+新文本;
$('b')。文本(文本);
});

  • y
  • z
  • x

  • 您可以使用文本功能来检索li元素的内容,而不带标记:

    $("li").click(function(){
        var text=$(this).text();
        // Do something with text (e.g. alert(text);
    });
    

    在我的示例中,text变量存储单击的元素文本内容:

    ,如注释中所述,请参阅下面我注释的代码-为了清晰起见,应用了一些CSS

    $(“li”)。单击(函数(){/*捕获单击*/
    $(“b”).append(/*目标元素*/
    $(this.text()/*get li text())*/
    )
    });
    
    li{光标:指针;}
    b{padding:12px;border:1px solid#ccc;}
    
    
  • y
  • z
  • x

  • 你的意思是
    这个.textContent
    ?简单的东西,比如…?您不需要在这样的实例中实际“克隆”文本。
    $(“li”).click(function(){$(“b”).append($(this.text())})
    如前所述,您不需要克隆字符串,只需提取它的一个副本,然后append@DarrenSweeney它是有效的,这也可能是一个解决方案。。。
    $("li").click(function(){
        var text=$(this).text();
        // Do something with text (e.g. alert(text);
    });