Изменить <span>текст при загрузке документа с помощью jQuery - PullRequest
2 голосов
/ 22 июля 2010

Я работаю на сайте WordPress, который использует динамически генерируемую систему меню, которую я не могу изменить из-за будущих обновлений, но я хотел бы изменить стиль текста внутри одного <span> в этом меню с jQuery на документе готов.Промежуток вложен как элемент <li>, и я не делаю, если это имеет значение.(И я не вижу, чтобы WordPress тоже что-то изменил.) Есть другие <span>'s, и я не хочу, чтобы они менялись, поэтому мне нужно сопоставить конкретный текст в <span>, который я хочу изменить.

Так как я могу изменить это <span>We are here to help.</span>

на это

<span style="color:#123456;">We are here to help.</span>

на $(document).ready?

Полныйhtml - это

<ul id="nav"><li class="li_item"><a class="navlink" href="http://www.mysite.org/contact-us/"><strong>Contact Us</strong><span>We are here to help.</span></a></li></ul>

Обновление: Это работает;необходимо обернуть функцию в псевдоним для отсутствия конфликтов:

jQuery(function($) {
$(document).ready(function() {
$("#nav li span:contains('We are here to help.')")
.css("color", "#f8481c"); 
});
});

Ответы [ 2 ]

5 голосов
/ 22 июля 2010

Попробуйте это (предполагается, что nav - это идентификатор ul для вашей системы меню):

$(document).ready(function() {
    $("#nav li span:contains('Text text text')")
      .css("color", "#123456"); 
});

Для вашего примера это jsFiddle работает:

1 голос
/ 22 июля 2010

Это должно работать, если: contains не работает для вас.

$(function() {
  $('#nav li span').each(function() {
    if ($(this).text() === 'We are here to help.')
      $(this).css('color', '#123456');
  });
});

Edit: слишком много скобок.

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