【问题标题】:Replacing span text within href tag替换href标签内的span文本
【发布时间】:2013-09-05 17:35:18
【问题描述】:

任何人都可以帮助我,我正在尝试在 href 标记内更改 span 标记的文本。以下代码似乎在 Jsfiddle 中有效,但在我的网站上无效?

http://jsfiddle.net/cqQt4/

HTML:

<a href="#pdpTab1"><span>Product Description</span></a>

JavaScript:

$('a[href^="#pdpTab1"]').addClass('productdesc');
$(function() {
    $("a.productdesc").each(function(index,el){
        $(el).text('Descripción del producto');
    }); 
});

我对 div 和一个类使用了类似的方法,它们在 Jsfiddle 和我的网站中都能完美运行!关于我可以实现这一目标的其他方法的任何建议?

【问题讨论】:

    标签: javascript tags href html


    【解决方案1】:

    您可能没有正确地将类添加到&lt;a&gt; 元素。

    您的 jQuery 代码正在寻找这个 $("a.productdesc"),我建议将第一行代码更改为 $(function() { 内。

    顺便说一句,您的代码缺少 .find(),您可以这样使用:

    $(function() {
        $('a[href^="#pdpTab1"]').addClass('productdesc'); // you should add this class to the html instead.
        $("a.productdesc").each(function(index,el){
            $(el).find('span').text('Descripción del producto');
        }); 
    });
    

    【讨论】:

    • 类在示例的第一行中设置,我假设发生在查找之前?
    【解决方案2】:

    只有您的代码是正确的,请尝试将$('a[href^="#pdpTab1"]').addClass('productdesc'); 放入$(function(){});

      $(function() {
        $('a[href^="#pdpTab1"]').addClass('productdesc');
        $("a.productdesc").each(function(index,el){
         $(el).text('Descripción del producto');
       }); 
     });
    

    如果您使用.find('span'),您可以保留跨度,否则跨度将消失。

    http://jsfiddle.net/cqQt4/1/

    【讨论】:

      【解决方案3】:

      你必须使用儿童方法,所以试试这个;

      var aTag=$('a href["#pdpTab1"]');
      
      $(aTag).each(function(incoming,index)
      {
      $(this).children('span').text('something');
      });
      

      【讨论】:

        【解决方案4】:

        您必须选择&lt;a&gt;-元素内的跨度:

        $(el).find('span').text('Descripción del producto');
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-03-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-10-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多