1

谁能帮助我我正在尝试更改跨度标签的文本,在href标签内。以下代码似乎在 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 和我的网站中都能完美运行!关于我可以实现这一目标的其他方式的任何建议?

4

4 回答 4

2

您必须选择<a>-element 内的跨度:

$(el).find('span').text('Descripción del producto');
于 2013-09-02T15:00:32.393 回答
1

您可能没有正确地将类添加到<a>元素中。

您的 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');
    }); 
});
于 2013-09-02T15:00:10.640 回答
0

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

var aTag=$('a href["#pdpTab1"]');

$(aTag).each(function(incoming,index)
{
$(this).children('span').text('something');
});
于 2013-09-02T15:09:59.253 回答
0

您的代码仅正确,请尝试$('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/

于 2013-09-02T15:14:58.600 回答