簡體   English   中英

jQuery選項卡插件在嵌套超鏈接時創建額外的錨標簽

[英]jQuery tabs plugin creates extra anchor tags when nesting hyperlink

我是JavaScript和jQuery的新手。 在嘗試將錨標簽嵌套在tabs插件的內容div中時,正在創建額外的空actor標簽。 我如何修改代碼以防止這種情況發生。 我在這里創建了一個JSFiddle: http : //jsfiddle.net/p94aybey/

謝謝

<ul class="tabs" data-tabgroup="first-tab-group">
  <li><a href="#group1-tab1" class="active">Tab 1</a></li>
  <li><a href="#group1-tab2">Tab 2</a></li>
  <li><a href="#group1-tab3">Tab 3</a></li>
</ul>
<section id="first-tab-group" class="tabgroup">
  <div id="group1-tab1">
    <h2>Heading 1</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
  </div>
  <div id="group1-tab2">
    <h2>Heading 2</h2>
    <p>Adipisci autem obcaecati velit natus quos beatae explicabo.</p>
  </div>
  <div id="group1-tab3">
    <h2>Heading 3</h2>
    <p>Atque ratione soluta laboriosam illo inventore amet?</p>

    <a href="http://gogle.com" target="_blank">Link<a><br>
    <a href="http://gmail.com" target="_blank">Mail<a>
  </div>
</section>

<ul class="tabs" data-tabgroup="second-tab-group">
  <li><a href="#group2-tab1" class="active">Tab 1</a></li>
  <li><a href="#group2-tab2">Tab 2</a></li>
  <li><a href="#group2-tab3">Tab 3</a></li>
</ul>
<section id="second-tab-group" class="tabgroup">
  <div id="group2-tab1">
    <h2>Heading 1</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
  </div>
  <div id="group2-tab2">
    <h2>Heading 2</h2>
    <p>Adipisci autem obcaecati velit natus quos beatae explicabo.</p>
  </div>
  <div id="group2-tab3">
    <h2>Heading 3</h2>
    <p>Atque ratione soluta laboriosam illo inventore amet?</p>
  </div>
</section>

$('.tabgroup > div').hide();
$('.tabgroup > div:first-of-type').show();
$('.tabs a').mouseover(function(e){
  e.preventDefault();
    var $this = $(this),
        tabgroup = '#'+$this.parents('.tabs').data('tabgroup'),
        others = $this.closest('li').siblings().children('a'),
        target = $this.attr('href');
    others.removeClass('active');
    $this.addClass('active');
    $(tabgroup).children('div').hide();
    $(target).show();

})

您有兩個沒有斜杠的閉合錨標簽。

</a>

演示

請注意,為簡單起見,我將您的hide()show()語句組合在一起,並刪除了不必要的e.preventDefault()語句。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM