【发布时间】:2013-12-09 05:37:00
【问题描述】:
jQuery 菜鸟在这里。抱歉,如果问题真的很简单,尽管我正在努力学习,但我并没有接触过太多的 jquery。
我试图将 DOM 元素从一个地方移动到另一个地方,但我似乎遇到了一些错误。
当我尝试测试 DOM 是否存在时,我得到元素不在 DOM 中的指示:
if (jQuery('.ls-yourlogo').length) {
alert('Found!');
} else {
alert('NOT FOUND!');
}
我正在尝试将 .ls-yourlogo 移动到 .ls-inner。
我尝试了几种不同的方法,包括:
jQuery('#layerslider_1').children('img').appendTo('#layerslider_1').children('.ls-inner');
还有
jQuery('.ls-yourlogo').appendTo('.ls-inner');
我知道 .ls-yourlogo 和 .ls-inner DOM 元素都是用 jQuery 创建的。我不确定这是否是导致问题的原因。
我目前正在使用 WordPress 的图层滑块插件:http://codecanyon.net/item/layerslider-responsive-wordpress-slider-plugin-/1362246
<div id="slider">
<script type="text/javascript"></script>
<script type="text/javascript"></script>
<div class="ls-wp-fullwidth-container" style="height: 317px;">
<div class="ls-wp-fullwidth-helper" style="height: 317px; width: 1349px; left: 0px;">
<div id="layerslider_1" class="ls-wp-container ls-container ls-noskin" style="width: 1050px; height: 317px; margin: 0px auto; visibility: visible;">
<div class="ls-webkit-hack"></div>
<div class="ls-inner">
<div class="ls-layer ls-active">
<img class="ls-s-1">
<p ></p>
<p ></p>
</div>
<div class="ls-layer" >
<img class="ls-s-1">
</div>
<div class="ls-circle-timer"></div>
<div class="ls-loading-container"></div>
<div class="ls-thumbnail-wrapper"></div>
<div class="ls-shadow"></div>
<img class="ls-yourlogo">
</div>
</div>
感谢您的宝贵时间。
【问题讨论】:
-
如果这两个元素都是由脚本创建的,那么您必须在创建这些元素后执行移动它们的代码...
jQuery('.ls-yourlogo').appendTo('.ls-inner');看起来不错 -
你能提供一个适当缩进的小提琴吗?我注意到一些没有关闭的标签。
-
@Arun P Johny
我如何才能等待元素被创建然后检查它们?在上面的 if 语句中,永远找不到 .ls-yourlogo。 C.S 我相信有人已经提供了一个 jsfiddle。未关闭的 DOM 元素是因为我必须从浏览器复制和粘贴。这部分 DOM 100% 是由我引用的插件创建的。
标签: javascript jquery html wordpress dom