Изменить текст из тега на текст из другого div

#jquery #html

#jquery #HTML

Вопрос:

Я пытаюсь изменить текст внутри тега на текст из выбранного элемента из списка.

Это список: введите описание изображения здесь

Это соответствующий html (только его часть)

 <div class="categories">

    <div class="cats"><a id="categoriaBtn995" class="button" href="#categoryTitle" title="button">Línea Blanca</a></div>
    <br>

    <div class="cats"><a id="categoriaBtn996" class="button" href="#categoryTitle" title="button">Desarrollo de Software</a></div>
    <br>

    <div class="cats down"><a id="categoriaBtn998" class="button" href="#categoryTitle" title="button">Esteticas - Belleza</a></div>
    <br>

    <div class="cats"><a id="categoriaBtn999" class="button" href="#categoryTitle" title="button">Publicidad</a></div>
    <br>
</div>
  

Под этим div у меня есть раздел, в который я хочу поместить некоторую информацию об этих элементах.

Во-первых, мне нужно изменить заголовок, который является простым тегом:

 <h1 id="categoryTitulo">Change this</h1>
  

Он должен изменить текст на элемент с class=»down»

Вот как я переключаю класс:

 $(document).ready(function () {
    $('a.button').click(function () {
        $('.down').toggleClass("down");
        $(this.parentElement).toggleClass("down");

    });
});
  

И это то, что я пытаюсь прямо сейчас:

 $('a.button').click(function () {
    $('h1#categoryTitulo').text(
        $('.down').text());
});
  

Я попытался поместить все это в JSFIDDLE, и по какой-то причине это действительно работает там, но не на моем сайте. Я надеюсь, что вы, ребята, сможете помочь мне найти другой способ для достижения этой цели.

Это то, чего я пытаюсь достичь: http://jsfiddle.net/2mAfT / Но со мной это не работает.

Комментарии:

1. Первое, что нужно сделать … элементы не могут совместно использовать идентификаторы! Они могут совместно использовать классы, но каждый элемент должен иметь либо свой собственный идентификатор, либо без идентификатора. Что у вас не работает? Есть ли какие-либо ошибки? Изменение вашего id="categoriaBtn" на class="categoriaBtn" может помочь с вашей проблемой

2. Я изменю его и посмотрю, решит ли это проблему, спасибо.

3. Сделано @j_buckley, теперь все разделяет идентификаторы, но оно все еще не работает, ошибок нет. Текст из h1 тега вообще не меняется.

Ответ №1:

вам нужно изменить свой #categoriaBtn, чтобы он выполнялся из class, а не id . Что-то вроде;

 $('a[class$="button"]').click(function(){
      $("#categoryTitulo').html('whatever you want here');
});
  

я не знаю, откуда вы получаете имя класса down или что-то еще, но это должно работать на все, что вы хотите

Комментарии:

1. Извините, я забыл изменить сценарий.

2. когда вы открываете сайт в своем браузере, нажмите клавишу F12, чтобы открыть инструменты разработчика, и если IE перейдет на вкладку script, выберите свою версию jquery из выпадающего списка рядом с «Начать отладку» и убедитесь, что она загружается правильно, мне кажется, это будет проблема со ссылкой на jQuery, еслион корректно работает в jsFiddle с тем же кодом.

3. Спасибо, Ник, теперь это работает, просто нужно добавить $(document).ready(function () и изменить порядок скриптов.