使用JavaScript更改锚定标记的文本显示/隐藏div

使用JavaScript更改锚定标记的文本显示/隐藏div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我希望divlds roller仅在ID搜索的文本锚定标记等于时显示。文本中的更改应该与HTTP响应一起发生 <div class="lds-roller"><div></div><div></div><div> </div><div></div><div></div><div></div> <div></div>&l

我希望div
lds roller
仅在ID
搜索的文本
锚定标记
等于
时显示。文本中的更改应该与HTTP响应一起发生

<div class="lds-roller"><div></div><div></div><div>
</div><div></div><div></div><div></div>
<div></div><div></div></div>
                <p>
                      <span class="r"> 
                               <span class="andom">
                                  <a href="{% pageurl post %}#disqus_thread" id="searchFor"> _
                                            </a>
                                </span>
                      </span>
                  </p>
我尝试了许多方法,但它们似乎总是要么继续显示
div
,要么不显示
div
,要么在文本更改之前使
div
消失

JS
函数通常遵循这一思路

$(function () {
   if ($("#searchFor").text() === "_")
   {
       $('.lds-roller').show();
   }
   else{
       $('.lds-roller').hide();
   }

})();

您需要将函数绑定到事件。例如,在jQuery中,可以使用如下内容:

    $("body").on('DOMSubtreeModified', "#searchFor", function() {
         if ($("#searchFor").text() === "_") {
           $('.lds-roller').show();
         }
         else {
          $('.lds-roller').hide();
         }

    });

目前,您的代码只在加载时运行一次,这就是为什么它只显示div。

您需要在js代码中进行更改。 应该是这样的:

$(function () {
   if ($("#searchFor").text() === "_")
   {
       $('.lds-roller').show();
   }
   else{
       $('.lds-roller').hide();
   }
});

它对我来说很好

不可思议的洞察力!非常感谢。从来没有想过加载时间是一个问题!Dan Iftinca指出装载时间是个问题。谢谢你的贡献
$(function () {
   if ($("#searchFor").text() === "_")
   {
       $('.lds-roller').show();
   }
   else{
       $('.lds-roller').hide();
   }
});