【问题标题】:jQuery getting div text on change problemjQuery获取有关更改问题的div文本
【发布时间】:2020-05-24 10:29:33
【问题描述】:

这是我的看法

<div class="product-sort-section flex-row flex-justify flex-center"><span></span>
          <div class="custom-select">

              <div class="select_cat select-title">Cортировать</div>
                <ul class="dropdown select-list">   
                   @foreach ($categories as $category)
                     <li>
                       <a class="dropdown-item" href="{{ route('front.category.ru', $category->slug) }}">{{ $category->name }}</a>
                     </li> 
                   @endforeach
                </ul>                      

          </div>            
        </div>        

当它用 jquery 改变时,我尝试获取 div 文本

<script>
    $(document).ready(function(){
       $('.select_cat').on("DOMSubtreeModified",function(){
         var cat = $(".select_cat").html();
         console.log(cat.trim());
      });

    });
</script>

当我尝试将 div 文本保留到浏览器日志时,我得到两个字符串,一个是空的,另一个是需要的类别名称,但有一些空间。如何在我的脚本中只获取 div 文本?谢谢你的回答。

【问题讨论】:

  • 忘了说,
    Cортировать
    会获取
      列表中选择的任何内容
  • 如果从列表中选择或取消选择某些内容,您可以更改触发器并获取 select_cat 文本。
  • 不管怎样,当从列表中选择某些东西时,如何将文本放入 div.select_cat 中?

标签: javascript php jquery laravel laravel-blade


【解决方案1】:

使用text 方法代替html

<script>
    $(document).ready(function(){
       $('.select_cat').on("DOMSubtreeModified",function(){
         var cat = $(".select_cat").text();
         console.log(cat.trim());
      });

    });
</script>

不要使用JQueryhtml方法将文本添加到div中,而是使用plan javascript方法textContent

使用计划javascript方法而不是JQueryhtml/text方法。

JQuery 会先清除 div 内容,然后添加新文本,这就是为什么 DOMSubtreeModified 事件会执行两次,一次在空节点上,另一次在实际内容上。

示例。

function changeContent() {
        let select_cat = document.querySelector('.select_cat');
        select_cat.textContent = 'New Content';
}

【讨论】:

  • 这是一个 Jquery 错误或其他东西,但 Jquery 正在这样修改。首先是清除 div 的内容,然后添加新的内容,你可以使用 vanilla javascript。
猜你喜欢
  • 1970-01-01
  • 2016-07-16
  • 2010-11-09
  • 2020-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-08
  • 2015-03-28
相关资源
最近更新 更多