【问题标题】:jQuery: can't replace LI.after with IMGjQuery:不能用 IMG 替换 LI.after
【发布时间】:2017-07-14 22:35:13
【问题描述】:

this answer 开始,我尝试在 Wordpress 网站上将 <LI>Logo</LI> 替换为 IMG,请参阅:Jsfiddle

但是,替换没有发生。

帮助表示赞赏。

HTML:

<ul id="menu-header-menu" class="genesis-nav-menu"><li id="menu-item-104" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home current-menu-item page_item page-item-11 current_page_item menu-item-104"><a href="http://vmpersonal.com/" itemprop="url">Home</a></li>
<li id="menu-item-109" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-109"><a href="/shop" itemprop="url">Products &amp; Services</a></li>
<li id="menu-item-105" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-105"><a href="http://vmpersonal.com/blog/" itemprop="url">Blog</a></li>
<li id="menu-item-110" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-110"><a href="/" itemprop="url">Logo</a></li>
<li id="menu-item-106" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-106"><a href="http://vmpersonal.com/success-stories/" itemprop="url">Success Stories</a></li>
<li id="menu-item-107" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-107"><a href="http://vmpersonal.com/about/" itemprop="url">About</a></li>
<li id="menu-item-108" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-108"><a href="http://vmpersonal.com/contact/" itemprop="url">Contact</a></li>
</ul>

jQuery:

    jQuery(document).ready(function() {
        jQuery("ul#menu-header-menu").find("li:contains('Logo')").hide(); // hides home from navigation
        jQuery("ul#menu-header-menu").find("li:contains('Logo')").after('<img src="http://vmpersonal.com/wp-content/uploads/2017/02/Logo-1.png" width="124px" />');
    });

【问题讨论】:

  • 您是否在控制台中遇到任何错误?
  • @user3378165 谢谢,是的,Uncaught TypeError: $ is not a function。我认为 jQuery 在使用 Wordpress 时需要 $ 而不是 jQuery
  • @Steve 您在原始代码中错过了 jquery 库
  • @Steve 以后,请在原始描述中添加错误消息。我们没有办法只知道它。
  • 直接使用html $("ul#menu-header-menu").find("li:contains('Logo')").html('vmpersonal.com/wp-content/uploads/2017/02/Logo-1.png" width="124px" />');

标签: jquery


【解决方案1】:

您似乎缺少 jquery 库,包含它,它应该可以工作。

一般来说,当你在 Wordpress 中加入 jQuery 时,你必须使用 jQuery,并且不使用 $(这是为了与其他库兼容)。

您可能必须将脚本包装在此函数中:(根据您使用 Wordpress 的评论)

(function($){

    // jQuery code is in here

})(jQuery);

【讨论】:

    【解决方案2】:

    您缺少 jQuery。只需在您的 HTML 中为其添加一个脚本标签就可以了。

    【讨论】:

      猜你喜欢
      • 2014-03-17
      • 1970-01-01
      • 2019-04-27
      • 1970-01-01
      • 2012-11-16
      • 1970-01-01
      • 2014-10-09
      • 2012-07-14
      • 1970-01-01
      相关资源
      最近更新 更多