IE8/IE7后的jQuery无法正常工作 [英] Jquery after ie8/ie7 not working
问题描述
我正在尝试在现有DOM元素之后插入数据.我收到一个错误无效参数". -this.parentNode.insertBefore
I'm trying to insert data after an existing DOM element. I'm getting an error "Invalid argument." -- this.parentNode.insertBefore
这在IE8或IE7中不起作用.有想法吗?
This is not working in IE8 or IE7. Ideas?
Jfiddle示例: http://jsfiddle.net/zJ3Fe/
Jfiddle example: http://jsfiddle.net/zJ3Fe/
<a href="#" id="delete_promo">Click</a>
<div id="customer-info" class="span-12">
<form id="UserFormCheckoutForm" method="post" action="/chicagophotographycenter/checkout" accept-charset="utf-8"><div style="display:none;"><input type="hidden" name="_method" value="POST" /></div>
<h2 class="line"><span>Billing/Shipping Address</span></h2>
<div class="padding">
<div id="billing-first-name">
<label>First Name</label><br />
<span><input name="data[User][first_name]" type="text" maxlength="150" value="Fred" id="UserFirstName" /></span>
</div>
<div id="billing-last-name">
<label>Last Name</label><br />
<span><input name="data[User][last_name]" type="text" maxlength="150" value="" id="UserLastName" /></span>
</div><br />
<div id="billing-email">
<label>Email</label><br />
<span><input name="data[User][email]" type="text" maxlength="255" value="" id="UserEmail" /></span><br />
</div>
<div id="billing-phone">
<label>Phone Number</label><br />
<span><input name="data[Customer][phone]" type="text" maxlength="15" value="" id="CustomerPhone" /></span><br />
</div>
<label>Street Address</label><br />
<span><input name="data[Address][0][address]" type="text" maxlength="150" value="" id="Address0Address" /></span><br />
<span><input name="data[Address][0][address2]" type="text" maxlength="150" value="Suite 203" id="Address0Address2" /></span><br />
<div id="billing-city">
<label>City</label><br />
<span><input name="data[Address][0][city]" type="text" maxlength="150" value="" id="Address0City" /></span>
</div>
<div id="billing-state">
<label>State</label><br />
<span><input name="data[Address][0][state]" type="text" maxlength="2" value="IL" id="Address0State" /></span>
</div>
<div id="billing-zip">
<label>Zip</label><br />
<span><input name="data[Address][0][zip]" type="text" maxlength="10" value="" id="Address0Zip" /></span><br />
</div>
</div><!-- end .padding -->
</div><!-- end #customer-info -->
<script type="text/javascript" charset="utf-8">
$('#delete_promo').click(function() {
$('#customer-info').after('<div id="payment">Credit Card</div>');
$('#UserFirstName').val('Test');
return false;
});
</script>
推荐答案
我不认为这是评论.即使没有它们,我仍然会收到错误消息.
I don't think it's the comments. I still get the error even without them.
但是,如果我在#customer-info
中包含缺少的</form>
关闭标签,问题就解决了. (验证者是您的朋友!)
The problem goes away, however, if I include the missing </form>
close-tag inside #customer-info
. (The validator is your friend!)
但是奇怪的错误,大概与IE错误地嵌套HTML时IE所做的奇怪的不一致的层次结构技巧有关.
Strange error though, presumably related to the weird inconsistent-hierarchy tricks IE does when given mis-nested HTML.
这篇关于IE8/IE7后的jQuery无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!