【问题标题】:How to use each in this case在这种情况下如何使用每个
【发布时间】:2017-03-01 09:38:49
【问题描述】:

我想 .each() 是这种情况的解决方案,我使用带前缀的类,在这种情况下如何使用 .each()?

尝试了很多方法,都没有成功

HTML

<div id="huge_it_slideshow_image_container_1" class="huge_it_slideshow_image_container_1">        
<div class="huge_it_slide_container_1">
<div class="huge_it_slide_bg_1">
<ul class="huge_it_slider_1">
<li class="huge_it_slideshow_image_item_1" id="image_id_1_0" style="transition: opacity 1000ms linear; opacity: 0; z-index: 1;">      
<img id="huge_it_slideshow_image_1_0" class="huge_it_slideshow_image_1" src="//localhost:3000/wp-content/uploads/2016/10/another_world_wallpaper_II___by_night_fate.jpg" alt="Teste" data-image_id="5">

<div class="huge_it_slideshow_title_text_1 none">Garantia de integridade,</div>
<div class="huge_it_slideshow_description_text_1 none">tranquilidade e qualidade dos funcionários  Esse é o nosso principal objetivo!</div>
</li>

<li class="huge_it_slideshow_image_second_item_1" id="image_id_1_1" style="transition: opacity 1000ms linear; opacity: 1; z-index: 2;">      
<a href="http://huge-it.com" target="_blank">
<img id="huge_it_slideshow_image_1_1" class="huge_it_slideshow_image_1" src="//localhost:3000/wp-content/uploads/2016/10/homerb.jpg" alt="Garantia de integridade," data-image_id="3">
</a>        
<div class="huge_it_slideshow_title_text_1">Garantia de integridade,</div>
<div class="huge_it_slideshow_description_text_1">tranquilidade e qualidade dos funcionários  Esse é o nosso principal objetivo!</div>
</li>
</ul>
</div>
<input type="hidden" id="huge_it_current_image_key_1" value="1">
</div>
</div>

JQUERY

$(function(){

      // Change behavior title and description HUGE IT
      var huge_it_title = $( "*[class*='huge_it_slideshow_title_text_']" ).text();
      $( "*[class*='huge_it_slideshow_description_text_']" ).prepend( "<span style='font-weight:bold; text-transform:uppercase;'>" + huge_it_title + "</span><br>" );

    });

【问题讨论】:

  • 您的预期行为是什么?你不解释。
  • @A.Wolff 获取 var huge_it_title 的值并将该值应用到 $( "*[class*='huge_it_slideshow_description_text_']" )

标签: jquery this each


【解决方案1】:

.each() 链接到huge_it_title,其中回调中的this 将是当前DOM 元素;在回调中,您可以使用 .textContent

引用当前元素文本
var huge_it_title = $("*[class*='huge_it_slideshow_title_text_']");
$("*[class*='huge_it_slideshow_description_text_']")
.each(function(index, el) {
  $(this)
  .prepend("<span style='font-weight:bold; text-transform:uppercase;'>" 
           + huge_it_title[index].this.textContent + "</span><br>")
});

您也可以使用.prepend(function).html(function)

$(function() {
  var huge_it_title = $("*[class*='huge_it_slideshow_title_text_']");
  $("*[class*='huge_it_slideshow_description_text_']")
  .prepend(function(index, html) {
      return "<span style='font-weight:bold; text-transform:uppercase;'>" 
             + huge_it_title[index].textContent 
             + "</span><br>" + html
    }).first().css("opacity", 1);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="huge_it_slideshow_image_container_1" class="huge_it_slideshow_image_container_1">
  <div class="huge_it_slide_container_1">
    <div class="huge_it_slide_bg_1">
      <ul class="huge_it_slider_1">
        <li class="huge_it_slideshow_image_item_1" id="image_id_1_0" style="style=""transition: opacity 1000ms linear; opacity: 0; z-index: 1;">
          <img id="huge_it_slideshow_image_1_0" class="huge_it_slideshow_image_1" src="" alt="Teste" data-image_id="5">

          <div class="huge_it_slideshow_title_text_1 none">Garantia de integridade,</div>
          <div class="huge_it_slideshow_description_text_1 none">tranquilidade e qualidade dos funcionários Esse é o nosso principal objetivo!</div>
        </li>

        <li class="huge_it_slideshow_image_second_item_1" id="image_id_1_1" style="transition: opacity 1000ms linear; opacity: 1; z-index: 2;">
          <a href="http://huge-it.com" target="_blank">
            <img id="huge_it_slideshow_image_1_1" class="huge_it_slideshow_image_1" src="" alt="Garantia de integridade," data-image_id="3">
          </a>
          <div class="huge_it_slideshow_title_text_1">Garantia de integridade,</div>
          <div class="huge_it_slideshow_description_text_1">tranquilidade e qualidade dos funcionários Esse é o nosso principal objetivo!</div>
        </li>
      </ul>
    </div>
    <input type="hidden" id="huge_it_current_image_key_1" value="1">
  </div>
</div>

【讨论】:

  • OP 希望将内容添加到不同的元素中。这个问题不够清楚恕我直言
  • @A.Wolff 最初没有注意到不同的选择器。查看更新后的帖子
  • 不返回任何值
  • @PabloCampina “不返回任何值” 您能否在问题中包含html?创建 stacksn-ps 或 jsfiddle jsfiddle.net 来演示?见How to create a Minimal, Complete, and Verifiable example。预期的结果是什么?
  • @PabloCampina 在 stacksn-p 返回预期结果。查看更新后的帖子
猜你喜欢
  • 2022-01-23
  • 2015-11-30
  • 2017-05-16
  • 2012-10-06
  • 2011-05-18
  • 2019-11-29
  • 2022-01-23
  • 2018-05-20
  • 2013-02-25
相关资源
最近更新 更多