jquery代码在IE8兼容模式下不起作用

时间:2010-09-10 15:57:28

标签: jquery internet-explorer

以下代码我无法工作(Jquery 1.4.2) 似乎选择器不起作用,因为它在id = p_quantity之后没有做任何事情。我添加了.remove()只是为了查看是否是那条线是麻烦的并且它没有在兼容模式下删除文本框,在普通模式和FF下工作。难倒!

编辑此行不起作用。

$("input[type='textbox'][name^='QTY']").attr('id','p_quantity').remove();

有趣的是,在IE COMP模式下,第二次删除两个图像输入工作正常

<table cellspacing="0" cellpadding="3" border="0"><tr><td>
<span class="PageText_L71n">Qty</span>: <input type="textbox" name="QTY.LL24" size="3" maxlength="7" onkeydown="javascript:QtyEnabledAddToCart();" value="1">
</td><td>

                          <input type="image" src="/v/vspfiles/templates/moderntot/images/buttons/btn_addtocart.gif" name="btnaddtocart" alt="Add to cart" border="0">

     <input type="hidden" name="ReplaceCartID" value="" />
     <input type="hidden" name="ProductCode" value="LL24" />
     <input type="hidden" name="e" value="" />

      <input type="hidden" name="ReturnTo" value="ShoppingCart.asp" />

     &nbsp;<input type="image" src="/v/vspfiles/templates/moderntot/images/buttons/btn_addtowishlist.gif" name="btnaddtowishlist" alt="Add To Wish List" border="0" />

     </td></tr>

     </table>

<script type="text/javascript" language="javascript">
$(function(){
$("input[type='textbox'][name^='QTY']").attr('id','p_quantity').remove();
$("input[type='image'][name^='btnadd']").attr('id','button').remove();    
});
</script>

1 个答案:

答案 0 :(得分:1)

您无法更改IE6 / 7中现有表单输入元素的idname属性。您需要创建一个全新的DOM元素并用它替换原始元素。另请参阅此related question

顺便说一下,textbox是无效的输入类型,然后默认为text。实际上你应该使用type="text"