更改元素的文本而不影响兄弟标记(jQuery)

时间:2010-02-03 13:12:04

标签: jquery html drupal

我正在尝试使用jQuery修改这一部分HTML以删除重复的箭头:

<div class="breadcrumb">
<a href="/spa/">Home</a> »  » <a href="/spa/image/tid">Image galleries</a>
</div>

然而,我没有太多运气,因为使用replace()函数替换字符串似乎也剥离了HTML标记,留下:

<div class="breadcrumb">Home » Image galleries</div>

我现有的狡猾代码是:

$('.breadcrumb').each(function() { 
    var mytext = $(this); 
    var mytext2 = mytext.text(); 
    mytext.text(mytext2.replace(' » » ',' » ')); 
});

有什么想法吗?

干杯, 詹姆斯

2 个答案:

答案 0 :(得分:2)

您可以在主题的template.php中删除箭头:http://api.drupal.org/api/function/theme_breadcrumb/6作为YOURTHEME_breadcrumb函数。

答案 1 :(得分:2)

听起来您正在使用innerText或jQuery的.text()修改代码。使用这些时,HTML将被删除,只返回文本。请改用.innerHTML.html()

使用您的“狡猾”代码:

$('.breadcrumb').each(function() {  
    var mytext = $(this);  
    var mytext2 = mytext.html();  
    mytext.html(mytext2.replace(' » » ',' » '));  
});