[英]jQuery .insertAfter not working, trying to move element in DOM
我已经尝试了以下jQuery代码在<form>
元素之后移动<select>
元素( 我只能在DOM中看到 ),但是它不起作用:
<script type="text/javascript">
jQuery('[id^=lc_currency]').insertAfter('[id^=lc_change]');
</script>
我也尝试过:
<script type="text/javascript">
jQuery('select[id^=lc_currency]').insertAfter('form[id^=lc_change]');
</script>
有什么编码建议吗? 我使用通配符选择器,因为在每个页面上ID都会更改,例如1c_currency1、1c_currency2等。
实时网站位于http://thehungrygeek.com/2015/11/17/australia-dairy-company/
我想专门将选择下拉框从网页上的一个位置移动到另一个位置。 不幸的是,元素代码仅位于DOM中。
该选择下拉框位于页面底部,位于http://thehungrygeek.com/2015/11/17/australia-dairy-company/
仅位于DOM中的代码如下:
<select style="width:200px" name="lc_currency1" id="lc_currency1" onchange="localCurrencyChange('SGD',lcValues1,1)">...</select>
选择下拉框应该移到这里:
该区域的相关代码如下:
<form name="lc_change1" id="lc_change1" action="http://thehungrygeek.com/2015/11/17/australia-dairy-company/" method="post">
Show currencies in
<noscript>[Please enable JavaScript to change the currency used on this page]</noscript>
<br>
<small>Powered by LocalCurrency. Rates from <a href="http://finance.yahoo.com" title="Visit Yahoo! Finance" target="_blank">Yahoo! Finance</a></small>
</form>
谢谢你的帮助!
1st:确保包括jquery
第二:将您的代码包装在
$(document).ready(function(){
// your code here
});
第三:尝试使用.each()
$(document).ready(function(){
jQuery('select[id^=lc_currency]').each(function(){
var getformId = $(this).attr('id').replace('currency','change');
//alert(getformId);
$(this).insertAfter('form#'+ getformId);
});
});
我想你的id字符串应该在引号内,试试看
$(function(){
jQuery("select[id^='lc_currency']").insertAfter("form[id^='lc_change']");
});
编辑:
加载窗口1秒后,尝试移动选择元素。 这可能对您有用,因为您的select元素来自javascript代码。
$(window).load(function(){
setTimeout(function(){
jQuery("form[id^='lc_change']").prepend( "select[id^='lc_currency']");
},1000);
});
从添加的屏幕截图看来,您似乎想在表单内而不是之后插入选择,这就是我使用的方法:
jQuery('[id^=lc_currency]').insertAfter('[id^=lc_change] noscript');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.