2015-12-30 2 views
1

Я искал и не нашел то, что я ищу, что я пытаюсь сделать, это:Как удалить родительский элемент html с помощью JS или JQuery?

<main class="content"> 
    Content 
    <nav class="search"> 
    </nav> 
</main> 

и при некотором изменении медиа-запросов, чтобы это

<main class="content"> 
    Content 
</main> 
<nav class="search"> 
</nav> 

это возможно ? Благодарим за помощь!

ответ

0

попробовать insertAfter

jQuery(function($) { 
 
    $(".search").insertAfter(".content"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<main class="content"> 
 
    Content 
 
    <nav class="search"> 
 
    </nav> 
 
</main>

0

Как правило, я стараюсь, чтобы структурировать HTML достаточно хорошо, так что все, что в связи с запросами средств массовой информации обрабатывается в CSS. Я не уверен, как выглядит ваш HTML, но недавно я узнал о методе window.matchMedia(), поэтому, я думаю, вы могли бы это использовать.

JQuery

if (window.matchMedia("(min-width: 400px)").matches) { 
    $(".search").insertAfter(".content"); 
} else { 
    $(".search").appendTo(".content"); 
} 
0

Вы можете использовать insertAfter, чтобы удалить элемент и вставьте после определенного элемента.

Чтобы обработать это из медиа-запроса, вы можете использовать Modernizr's mq method. Он имеет лучшую поддержку браузера, чем window.watchMedia(). Он поддерживает все браузеры, которые могут понимать медиа-запросы в CSS.

if (Modernizr.mq('(max-width: 320px)')) { 
     $(".search").insertAfter(".content"); 
    } else { 
    //... 
    } 
Смежные вопросы