【问题标题】:Change Class Name with jQuery or CSS使用 jQuery 或 CSS 更改类名
【发布时间】:2017-11-12 22:50:24
【问题描述】:

所以我试图将我网站上的这部分代码从“产品”改为“商店”

问题图片以红色突出显示:

<strong class="breadcrumb_last">Products</strong>

面包屑中的产品文本是从 >Products

我需要一种使用 CSS 或 jQuery 将其编码到我的网站的方法,因为这是一个 wordpress 网站,所以它会改变

<strong class="breadcrumb_last">Products</strong>

<strong class="breadcrumb_last">Shop</strong>

有什么想法吗?

谢谢,

哈维

[]

2[]3

【问题讨论】:

  • document.querySelector('.breadcrumb_last').textContent = 'Shop'
  • 我应该把它放在我的代码中的什么地方?应该放在php还是js文件中?

标签: jquery css wordpress class element


【解决方案1】:

对于现有的 HTML,我建议您使用以下代码:

  $(".breadcrumb_last").text("Shop");

但是,如果元素有 ID 会更好,因为冲突(更新许多元素)的机会会更低。如果你决定给你的元素一个 ID,下面的代码会很有用。

  $("#name-of-element").text("Shop");

JSfiddle 示例:https://jsfiddle.net/9k8h53t9/

【讨论】:

    【解决方案2】:

    不要使用$(".breadcrumb_last")作为选择器。
    在其他页面上,您的.breadcrumb_last 可能不包含所需的Products 文本(参见ex.2

    改为,以父选择器为目标(在您的特定情况下为#breadcrumbs),而不是选择a, strong children - 以确保您不会更改任何其他内容 - 但元素有"Products" 字符串。方法如下:

    jQuery(function($) { // DOM ready and $ alias secured
    
      $("#breadcrumbs").find('a, strong').text(function(idx, txt) {
        if (txt === "Products") return "Shop";
      });
    
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    
    <p id="breadcrumbs">
    
      EXAMPLE 1<br><br>
    
      <span>
        <span>
          <a href="#!">Home</a>
          &raquo;
          <strong class="breadcrumb_last">Products</strong>
        </span>
      </span>
    
      <br><br> EXAMPLE 2<br><br>
    
      <span>
        <span>
          <a href="#!">Home</a>
          &raquo;
          <a href="#!">Products</a> 
          &raquo;
          <strong class="breadcrumb_last">This is a product 1</strong>
        </span>
      </span>
    
    </p>

    同样,您可以使用:contains("Products"),但这也会针对像&lt;a&gt;Dangerous Products&lt;/a&gt; 这样的儿童——这显然是一件危险的事情:)

    【讨论】:

    • 嗨,当将 jQuery 添加到 chrome 开发人员工具中时,这可以正常工作,但是在某个地方我可以看到它从哪里获取此代码,因为我需要找到运行此元素的 php 文件,所以我可以将其设置为添加到此脚本中。
    • 虽然将它添加到我的 functions.php 文件中会起作用,但由于某种原因它只是没有用。如果没有,我会在之前给它。不确定你们中是否有人熟悉脚本是如何加载到 wordpress 中的,因为我之前已经处理过几次。
    • @Harvey 通过将 jQuery 代码包装到 jQuery(function($) { /*code here*/ }); 中来编辑我的答案。往上看。有时我只是假设人们知道如何处理这种情况,因为这种情况非常普遍......试试看吧。
    • 嗨 buljan,我之前添加了代码,并且使用的是 (functions($ 部分,但不是之前的 jQuery,我在最后添加了这个,所以我会先给它,我明白了在 chrome 开发人员中工作并通过 Wordpress functions.php 文件进入我的网站,它只是没有进行更改,所以我明天会试一试,让你知道:) 干杯
    • 嗨,我刚刚将您的代码添加到我的 .js 文件中,但在刷新站点时它仍然没有运行,我使用隐身模式并清除了缓存等。请参阅我的 JS 和 functions.php 文件我刚刚编辑的原始帖子。该代码在 chrome 开发人员 sn-p 中仍然可以正常工作...
    猜你喜欢
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 2019-08-07
    • 2012-07-13
    • 1970-01-01
    • 2012-11-06
    • 2011-10-17
    • 1970-01-01
    相关资源
    最近更新 更多