【问题标题】:jQuery append text inside of an existing paragraph tagjQuery 在现有段落标签内附加文本
【发布时间】:2013-04-18 19:38:47
【问题描述】:

我正在尝试使用 jQuery 在段落末尾添加其他文本。我的想法是产生这样的结构:

从我的回答来看,我会澄清。我需要先创建这个结构。这是我觉得困难的部分,而不是第二个最终结果。那么我如何动态创建这个:

<p>old-dynamic-text<span id="add_here"></span></p>

然后在添加新文本后,它看起来像这样:

<p>old-dynamic-text<span id="add_here">new-dynamic-text</span></p>

我一直在使用 .wrapAll() 方法,但我无法完全得到想要的效果。这是最好的方法(如果是这样的话),还是有另一种方法可以将新文本附加到现有段落的末尾(需要用某种类型的标签包装,因为我需要不同的样式) ?

【问题讨论】:

    标签: jquery append wrapall


    【解决方案1】:

    试试这个...

    $('p').append('<span id="add_here">new-dynamic-text</span>');
    

    或者,如果存在现有跨度,请执行此操作。

    $('p').children('span').text('new-dynamic-text');
    

    DEMO

    【讨论】:

    • 我很确定它将在段落元素之后附加跨度,而不是在其中。所以它最终会是

      而不是

      。除非不在 p 周围添加标签会导致它的行为不同(这只是一个错字?
    • 添加了小提琴链接,看看吧。
    • 我相信如果你使用 append,结果会是

    • 是的,我的意思是我看不到小提琴中的 DOM,但考虑到他的 CSS,这看起来是真的。我会试试这个 Mahesh!
    • 这个解决方案的问题是new-dynamic-text包含HTML,应该转义。
    【解决方案2】:

    如果您想将append 文本或html 转为span,那么您可以按照以下方式进行。

    $('p span#add_here').append('text goes here');
    

    append 会将文本添加到 span 标签的末尾。

    要替换 span 内的整个文本或 html,您可以使用 .text().html()

    【讨论】:

      【解决方案3】:

      试试这个

      $('#add_here').text('new-dynamic-text');
      

      【讨论】:

      • 那么,请参阅 Mahesh Sapkal 的解决方案。我相信它会给你你想要的结果..;)
      【解决方案4】:

      我刚刚发现了一种附加文本的方法,并且至少可以正常工作。

       var text = 'Put any text here';
       $('#text').append(text);
      

      您可以根据需要更改文本。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-16
        • 2021-08-14
        • 2016-05-17
        • 2013-03-17
        相关资源
        最近更新 更多