Изменить текст элемента, не затрагивая родственные теги (jQuery) - PullRequest
2 голосов
/ 03 февраля 2010

Я пытаюсь изменить этот бит HTML с помощью jQuery, чтобы удалить дублирующую стрелку:

<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(' » » ',' » ')); 
});

Есть идеи?

Cheers, Джеймс

Ответы [ 2 ]

2 голосов
/ 03 февраля 2010

Звучит так, будто вы модифицируете код, используя innerText или jQuery's .text(). При их использовании HTML удаляется, и возвращается только текст. Вместо этого используйте .innerHTML или .html().

Используя ваш "хитрый" код:

$('.breadcrumb').each(function() {  
    var mytext = $(this);  
    var mytext2 = mytext.html();  
    mytext.html(mytext2.replace(' » » ',' » '));  
});
2 голосов
/ 03 февраля 2010

Вы можете удалить стрелку через них в template.php вашей темы: http://api.drupal.org/api/function/theme_breadcrumb/6 как функция YOURTHEME_breadcrumb.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...