J'essaie d'insérer des données après un élément DOM existant. Je reçois une erreur "Argument invalide". Ce paramètre ne fonctionne pas dans IE8 ou IE7. Des idées?Jquery après ie8/ie7 ne fonctionne pas
exemple Jfiddle: 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>
Wow. Tu avais raison. Je viens de tester ça. Si la balise n'est pas bien formée en ce qui concerne les éléments div, elle explose dans IE7 et IE8. Par exemple,
n'a aucun problème. Cependant, explose à la fois IE7 et IE8. "Limitations: IE vous décevra souvent (et je ne peux rien y faire)" – zmontecaOui, ce qui est arrivé ici est ce que IE appelle une 'inclusion', ce qui entraîne un DOM incohérent qui n'est pas une seule hiérarchie. Voir la section sur les tags qui se chevauchent [ici] (http://blogs.msdn.com/b/ie/archive/2010/09/13/interoperable-html-parsing-in-ie9.aspx) pour une mention de cette horreur . Je suppose que la hiérarchie incohérente (il y a effectivement deux parentNodes différents!) Rend IE confus quant à l'endroit où le contenu nouvellement inséré est réellement aller. – bobince