Jquery replaceWith没有处理多个div

时间:2017-06-12 14:06:44

标签: javascript jquery

所以,我创建了一个很好用的脚本:



  $(function() {
      $(".decorrer").click(function(e) {
        x = jQuery('#1').clone().attr("id", "dinamics");
        jQuery('#dinamics').replaceWith(jQuery(x));
      });
      $(".Futuras").click(function(e) {
        x = jQuery('#2').clone().attr("id", "dinamics");
        jQuery('#dinamics').replaceWith(jQuery(x));
      });
      $(".Passadas").click(function(e) {
        x = jQuery('#3').clone().attr("id", "dinamics");
        jQuery('#dinamics').replaceWith(jQuery(x));
      });
      $(".2017").click(function(e) {
        x = jQuery('#sete').clone().attr("id","something");
        jQuery('#something').replaceWith(jQuery(x));
        });

<div class="col-md-3" id="status">
  <ul>
    <li class="decorrer"><a href="#">A decorrer</a></li>
    <li class="Futuras"><a href="#">Futuras</a></li>
    <li class="Passadas"><a href="#">Passadas</a></li>
    <li class="2017"><a href="#">Passadas</a></li>
  </ul>
</div>
 <div class="col-md-7" id="dinamics">
 </div>

<div style="display:none;">
    <div id="1">
     <p>content1</p>
    </div>
    <div id="2">
     <p>content2</p>
    </div>
    <div id="3">
        <div class="col-md-1" id="years">
            <ul>
                <li class="2016"><a href="#">2017</a></li>
                <li class="2015"><a href="#">2016</a></li>
            </ul>
        </div>
    </div>
        <div class="col-md-6" id="pastExpos">
            <div id="something">
            <h3>something</h3>
            </div>
            
        </div>
    <div id="sete">
        <div class="col-md-6"> 
            <h3>dezassete</h3>
        </div>
    </div>
</div>
&#13;
&#13;
&#13;

但是一旦我改变了li class =&#34; 2017&#34;来自于div class =&#34; status&#34;在div class =&#34; years&#34; (这是它的预定位置),它停止工作。你能帮我吗?

谢谢

1 个答案:

答案 0 :(得分:0)

更改<li>课程时,您还必须更改Jquery:

$(".2017").click(function(e) {
    x = jQuery('#sete').clone().attr("id","something");
    jQuery('#something').replaceWith(jQuery(x));
    });

因为您正在选择2017课程,如果您更改HTML而不是Jquery,则选择器将指向任何内容。