【发布时间】:2014-06-24 18:01:47
【问题描述】:
我正在开发一个普通的 javascript 项目,所以我不能使用 jQuery。我正在尝试使用以下内容将一些 HTML 从一个位置移动到另一个位置:
parent.appendChild(element);
我正在尝试将表单放置在与 HTML 代码中的注释中不同的位置。我正在尝试这个,但它根本不起作用。
Javascript:
var loginButton = document.querySelector('[data-login-header-button]');
var loginDropdown = document.querySelector('[data-login-dropdown]');
var shopCartButton = document.querySelector('[data-shopping-cart-header-button]');
var shopCartDropdown = document.querySelector('[data-shopping-header-cart]');
shopCartButton.parentNode.appendChild(shopCartDropdown);
loginButton.parentNode.appendChild(loginDropdown);
HTML:
<header>
<nav data-nav-services>
<ul class="nav-services">
<li data-test>
<a class="icon icon-shopping-cart icon-arrow-down" href="#" data-shopping-cart-header-button>
shopping cart
</a>
<!-- PLACEMENT FOR data-shopping-header-cart -->
</li>
<li>
<a class="icon icon-user icon-arrow-down" href="#" data-login-header-button>
Login
</a>
<!-- PLACEMENT FOR data-login-dropdown -->
</li>
</ul>
</nav>
<form class="login-dropdown" data-login-dropdown>
...CONTENT...
</form>
<form class="shopping-cart" data-shopping-header-cart>
..CONTENT..
</form>
</header>
奇怪的是,如果我转动选择器(如下所示)它确实有效,我无法解释为什么......
shopCartDropdown.parentNode.appendChild(shopCartButton);
shopCartDropdown.parentNode.appendChild(loginButton);
【问题讨论】:
-
您的原始代码对我有用。 jsfiddle.net/8mB3h
-
@Arbel 我真的不明白为什么,但小提琴是逻辑结果,这正是我所需要的,但在我的代码中它只适用于转动选择器。真的很奇怪……如果我发现了什么我会告诉你的。
标签: javascript html forms appendchild