替换href标记内的跨度文本

时间:2013-09-02 14:58:31

标签: javascript tags href html

任何人都可以帮助我,我试图在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和我的网站中都能很好地工作!关于我可以实现这一目标的其他方式的任何建议?

4 个答案:

答案 0 :(得分:2)

您必须在<a> - 元素中选择范围:

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

答案 1 :(得分: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');
    }); 
});

答案 2 :(得分:0)

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

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

$(aTag).each(function(incoming,index)
{
$(this).children('span').text('something');
});

答案 3 :(得分: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/