我在想是否可以用jQuery来交换两个div的位置。
我有两个像这样的div:
<div class="div1">STUFF ONE</div>
<div class="div2">STUFF TWO</div>
如果div2
有内容(或包含不只是空格),它会交换div1
和div2
的顺序。
所以这个:<div class="div1">STUFF ONE</div>
<div class="div2">STUFF TWO</div>
会变成这样:
<div class="div2">STUFF TWO</div>
<div class="div1">STUFF ONE</div>
但如果是这样的:
<div class="div1">STUFF ONE</div>
<div class="div2"></div>
或者这个:
<div class="div1">STUFF ONE</div>
<div class="div2"> </div>
它不会做任何事情。
而且...如果可能的话,如果切换了,我想添加一个类到div1
。
非常感谢任何帮助。
更新:
我忘记了要在同一页上运行多个实例。
每个实例的格式如下:
<div class="view-container">
<div class="view-content">
<div class="views-row">
<div class="div1">STUFF ONE</div>
<div class="div2">STUFF TWO</div>
</div>
<div class="views-row">
<div class="div1">STUFF ONE</div>
<div class="div2">STUFF TWO</div>
</div>
</div>
</div>
$('.div2')
是一个Jquery选择器,它选择具有类“div2”的每个元素-->使用.each可以迭代遍历每个元素并对其应用函数,在其中使用$(this)选择元素-->使用!$(this).text().match(/^\s*$/)
,当当前迭代的元素没有空格(->正则表达式)时返回true-->使用$(this).insertBefore($(this).prev('.div1'))
将元素插入到括号中的元素之前,该元素是直接在元素本身之前的类为div1的元素 - lxg95