【问题标题】:Does the following Append HTML with the Text from each instance of a Class to that instance of the Class?以下是否将带有每个 Class 实例的 Text 的 HTML 附加到 Class 的该实例?
【发布时间】:2013-02-24 06:57:12
【问题描述】:

我正在尝试获取以下代码以从 .banners_text_line 的每个实例中获取文本,并在其前面加上 span.shadow,其中包含来自类的文本副本。这是我对 jquery 的想法:

<script>

$('.banners_text_line').each(function(){
$(this).append('<span class="shadow">'$(this).text()'</span>');
});

</script>

如果有两个 .banners_text_line 实例,第一个包含文本“hello world”,下一个包含“你好吗”,那么我试图让输出显示:

<div class=".banners_text_line"><span class="shadow">hello world</span>hello world</div>
...
<div class=".banners_text_line"><span class="shadow">how are you</span>how are you</div>

【问题讨论】:

    标签: javascript jquery foreach jquery-append


    【解决方案1】:

    你省略了连接运算符:

    $(this).append('<span class="shadow">' + $(this).text() + '</span>');
    

    当然,如果您这样做,您将获得更好的性能并且不必担心串联:

    var t = $(this);
    t.append($(document.createElement('span')).addClass('shadow').text(t.text()));
    

    【讨论】:

    • 连接后,我仍然没有出现跨度。如果 div 有另一个类,这有关系吗?一些 div 有多个类:
      ...
    • @beta208,只要它有你选择的类,它有多少其他类都没关系。
    • @beta208,出于好奇,您是在 DOM 加载后运行脚本,对吧?
    • 天哪,那是我的错。我敢打赌这就是问题所在。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2016-04-02
    • 1970-01-01
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    相关资源
    最近更新 更多