克隆两个元素并将它们存储在一个变量中
正如标题所说,我可以克隆两个元素并将它们存储在一个变量中,而不是创建单独的变量。使用&&
获得两个元素试过,但没有奏效克隆两个元素并将它们存储在一个变量中
var menu = $('a[href$="/items"]').clone() && $('a[href$="/items"]').next().clone();
$('.footer .footer-menu').append(menu);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>
<a href="aim/items">Item </a>
<ul>
<li>item one</li>
</ul>
</li>
</ul>
<div class="footer">
this is a footer
<div class="footer-menu">
</div>
</div>
在这里你可以用array
解决方案https://jsfiddle.net/wrdp548d/
var menu = [];
menu.push($('a[href$="/items"]').clone());
menu.push($('a[href$="/items"]').next().clone());
$('.footer .footer-menu').append(menu);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>
<a href="aim/items">Item </a>
<ul>
<li>item one</li>
</ul>
</li>
</ul>
<div class="footer">
this is a footer
<div class="footer-menu">
</div>
</div>
另一种方式
var menu = [];
menu.push($('a[href$="/items"]').clone());
menu.push($('a[href$="/items"]').next().clone());
$.each(menu, function(i){
\t $('.footer .footer-menu').append(menu[i]);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>
<a href="aim/items">Item </a>
<ul>
<li>item one</li>
</ul>
</li>
</ul>
<div class="footer">
this is a footer
<div class="footer-menu">
</div>
</div>
在这里你去目标的解决方案https://jsfiddle.net/wrdp548d/1/
var menu = {
\t clone1: $('a[href$="/items"]').clone(),
clone2: $('a[href$="/items"]').next().clone()
};
for(var key in menu){
$('.footer .footer-menu').append(menu[key]);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>
<a href="aim/items">Item </a>
<ul>
<li>item one</li>
</ul>
</li>
</ul>
<div class="footer">
this is a footer
<div class="footer-menu">
</div>
</div>
希望这会帮助你。
*“在这里你使用JSON解决方案”* - 这不是JSON,它是一个对象。 – nnnnnn
Ya ... JSON对象解决方案... – Shiladitya
不,只是一个对象。 [没有这样的事情作为“JSON对象”。](http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/) – nnnnnn
一个简单的变量只能容纳一个值。如果您需要保存多个数据或者使用数组或对象。
使用数组:
var clone1 = $('a[href$="/items"]').clone();
var clone2 = $('a[href$="/items"]').next().clone();
var menu = [clone1, clone2];
或对象:
var clone1 = $('a[href$="/items"]').clone();
var clone2 = $('a[href$="/items"]').next().clone();
var menu = {'clone1': clone1, 'clone2': clone2};
然后你将不得不通过循环直通,或直接通过数组索引menu[0]
或对象属性访问它访问值menu.clone1
menu[clone1]
您可以使用'.add()'方法,或者每次为每个克隆调用'.append()'两次,然后根本不需要该变量。或者先选择两个元素,然后再调用'.clone()'一次。 – nnnnnn
你最关心的是存储一个变量还是你想只使用'append'一次? –