Jquery - добавить динамический класс в другой DIV - PullRequest
0 голосов
/ 29 октября 2009

Хорошо, возможно, название не лучше объясняет, что я пытаюсь достичь, но если я смогу объяснить лучше, надеюсь, кто-то может мне помочь:

Я использую следующий код, чтобы выделить текст, содержащийся в <a>, и добавить его в качестве класса этого элемента:

$(".nav a").each(function () {
  var self = $(this);
  self.addClass(self.text());
});

Так, например:

<a class="nav" href="page1.html">Google</a>
<a class="nav" href="page2.html">Yahoo</a>
<a class="nav" href="page3.html">Bing</a>

становится:

<a class="nav Google" href="page1.html">Google</a>
<a class="nav Yahoo" href="page2.html">Yahoo</a>    
<a class="nav Bing" href="page3.html">Bing</a>

Я использую другой фрагмент кода, чтобы выяснить, на какой странице находится пользователь в данный момент: Google, Yahoo или Bing, а затем я выделяю другой класс 'Выбранный'

Например, если я был на странице Google, класс <a> становится:

<a class="nav Google selected" href="page1.html">Google</a>

Я хотел бы расширить это немного дальше и, возможно, лучше объяснить это на примере:

<a class="nav Google selected" href="page1.html">Google</a>
<a class="nav Yahoo" href="page2.html">Yahoo</a>    
<a class="nav Bing" href="page3.html">Bing</a>

<div class="container Google">

Lots of content

</div>

Так же, как и выше, когда в «Google» выбран класс «добавлен», добавьте его к <div class="container">, и то же самое для других ссылок.

Другими словами, когда <a> удерживает 'selected', добавьте предыдущий класс к <div class="container">

Я знаю, что есть много способов сделать это гораздо менее «хакерскими» способами, но у меня нет другого выбора, кроме как сделать это так, так как я не могу в любом случае редактировать источник страницы, поэтому он должен быть основан на браузере. решение, а не на стороне сервера.

Ответы [ 2 ]

1 голос
/ 29 октября 2009
$('.nav').click(function(){
    $(this).addClass($(this).text());  // I believe you already do this.
    $('.conatiner').addClass($(this).text());
});
0 голосов
/ 29 октября 2009

Вы можете добавить класс в контейнер следующим образом:

$('.conatiner').addClass($('a.selected').text());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...