jquery манипулирует тегами с помощью .css () - PullRequest
1 голос
/ 28 марта 2010

Мне нужно изменить цвет шрифта div с идентификатором «nav» на белый.

Я сделал:

$("#nav").css("color","white");

Это работает для всего текста, который не обернут в теги , но мне тоже нужно его изменить.

Я попытался добавить:

$("a").css("color","white");

Но это не работает. Я также попробовал:

var changeAColor = document.getElementsByTagName("a")
$(changeAColor).css("color","white");

Любые идеи приветствуются.

Ответы [ 2 ]

1 голос
/ 28 марта 2010
$('#nav, #nav a').css('color', 'white');

выбирает все прямые и косвенные теги привязки в #nav div.

$('#nav, #nav > a').css('color', 'white');

выбирает все прямые теги привязки в #nav div.

1 голос
/ 28 марта 2010

Причина, по которой $("#nav").css("color","white"); не меняет цвет ссылок, заключается в том, что селектор в вашей таблице стилей, который стилизует теги a, более специфичен, чем встроенный стиль, применяемый к тегу div. Вы заметите тот же эффект, если добавите следующее правило в таблицу стилей, ссылки не изменятся: #nav { color: white }

При этом оператор jQuery для изменения всего текста, включая ссылки, будет $('#nav, #nav a').css('color', 'white');

Единственный способ воспроизвести вашу проблему - это применить стиль к тегам a, которые использовали объявление important, например: a { color: #0000ff!important; }

Это похоже на выстрел в темноте, но это все, о чем я могу думать сейчас ...

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