Выберите следующий первый элемент в jQuery - PullRequest
0 голосов
/ 09 сентября 2009
Первая легенда "Sed ut perspiciatis undemnis iste natus error сидеть волптатем accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi ********* Образец текста здесь ****************
        <fieldset id="fs2">
            <legend id="leg2">Second Legend</legend>
            <div id="div2">
                "At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium
                voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint

                  <div id="div2Child">

                      ********* Sample text here ****************
                 </div>
            </div>

        </fieldset> 

Когда я нажимаю легенду , я должен получить только содержимое первого div (div1 и div2). Я не хочу отображать «Образец текста здесь», который является дочерним элементом div (Id - >> div1Child и div2Child) элемента div. Любая помощь будет оценена. Это довольно срочно.

Заранее спасибо.

Ответы [ 4 ]

3 голосов
/ 09 сентября 2009

Вот код, показывающий, как можно обрабатывать показ первого родительского div при нажатии на легенду, а затем показ дочернего div родительского div нажатием кнопки «читать дальше» ...

<script>
    $(document).ready(function() {
        $("fieldset legend").click(function() {
            $(this).next("div").toggle().children("div").each(function() {
                $(this).hide();
            });
        });
        $(".btnreadmore").click(function() {
            $(this).next("div").show();
        });
    });
</script>

<fieldset id="fs1">
        <legend id="leg1">First Legend</legend>
        <div id="div1" class="hidden">
            "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque
            laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi. 
            <input type="button" value="read more" class="btnreadmore" />                  
             <div id="div1Child">
                  ********* Sample text here ****************
              </div>
        </div>
    </fieldset>
<fieldset id="fs2">
        <legend id="leg2">Second Legend</legend>
        <div id="div2" class="hidden">
            "At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium
            voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint
            <input type="button" value="read more" class="btnreadmore" />                  
              <div id="div2Child">
                  ********* Sample text here ****************
             </div>
        </div>
    </fieldset>
1 голос
/ 09 сентября 2009

Это лучшее, что я могу придумать ..

$('legend').click(function(e){
     var $div = $(this).next('div').clone();
     var text = $div.children().remove().end().text();
     console.log(text);
});

РЕДАКТИРОВАТЬ: Приведенный выше код предполагает, что:

  1. ты ничего не хочешь внутри <div id="div1"> кроме немедленного текст и
  2. что вы используете Firebug для разработки своего кода.
0 голосов
/ 09 сентября 2009

Попробуйте это:

$("fieldset > div:first-child")
0 голосов
/ 09 сентября 2009

$ ("leg1"). Next () и $ ("leg2"). Next ()?

См. здесь

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