Заменить все символы после 10-го внутри конкретного тега - PullRequest
0 голосов
/ 11 января 2012

Я думаю, что у меня есть основы этого сценария, но я не могу понять, почему он не работает.У меня есть якорь, который является динамическим.Из-за моих параметров дизайна, если он превышает 10 символов, он обрезается, поэтому я хочу обрезать его с помощью адского слова после 10-го символа.Iv написал Regex для него, но нужно подтолкнуть его.Вот мой код:

$(function() {
    var crumb = $('#breadcrumb > li > ul > li > a:first');
    console.log(crumb)
    crumb.innerHTML.replace(/^([\d\w\s]{10}).*?/,'$1…');
    console.log(crumb)
})

игнорировать строки console.log, так как это скрипты firebug.По какой-то причине мой отладчик правильно возвращает крошки в первый раз, но возвращает crumbs.innerHTML во второй раз не определен.Как мне заставить это работать?

Вся помощь оценена!

1 Ответ

0 голосов
/ 11 января 2012

Нет необходимости использовать регулярное выражение.

Поскольку у вас уже есть innerHTML, используйте методы и свойства String.

if (crumb.innerHTML.length > 10) {
   crumb.innerHTML = crumb.innerHTML.substr(0, 10) + '…';
}

ОБНОВЛЕНИЕ

См.пример в действии с JSFiddle

Примечание: Если innerHTML имеет разметку HTML, это решение не будет работать.То есть я предполагаю, что в ваших тегах привязки есть только текст.

...