以下代码我无法工作(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" />
<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>
答案 0 :(得分:1)
您无法更改IE6 / 7中现有表单输入元素的id
和name
属性。您需要创建一个全新的DOM元素并用它替换原始元素。另请参阅此related question。
顺便说一下,textbox
是无效的输入类型,然后默认为text
。实际上你应该使用type="text"
。