【问题标题】:jquery code does not work in IE8 compatibility modejquery代码在IE8兼容模式下不起作用
【发布时间】:2010-09-10 15:57:28
【问题描述】:

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

EDIT 这行不起作用。

$("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>

【问题讨论】:

    标签: jquery internet-explorer


    【解决方案1】:

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

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

    【讨论】:

    • 嗯,我不明白这是如何导致第二个 jquery 输入语句工作正常顺便说一句,这也不起作用 $("input[type='text'][name^='QTY' ]“)。消除();它没有改变任何属性
    • 好吧,你是对的,但不是关于这种情况下的第一件事,而是关于“文本框”(这个代码不是我无法改变的)它的类型是“文本框”,所以我改变了$("input[type^='text'][name^='QTY']").remove(); 的选择器它在所有地方都可以正常工作
    • 真的不行。尝试在 JS/jQuery 中选择具有新 ID 或名称的元素,或者将表单提交到服务器端,服务器端又依赖新名称作为参数名称。
    • 哎哟!!!你在两个帐户上都是对的,刚刚检查了提交。该死!!!所以我实际上在这里遇到了两个问题,错误的选择器和无法将 attr 添加到 ie6/7,THX IC NOW,所以您是否建议我删除文本框并将其替换为具有 id 的相同输入
    猜你喜欢
    • 1970-01-01
    • 2011-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多