使用jquery.min.js后按钮不起作用

时间:2017-01-19 18:57:39

标签: javascript jquery

我们使用下面的代码建议here来显示图标而不是文字,但在我们使用下面的代码后,主要是 Jquery.min.js 现在“添加到购物车“按钮无效this link

std::string

主控台错误:

未捕获的TypeError:无法读取undefined的属性'submit'     在HTMLButtonElement.onclick 下面的行代码。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<script>

$(document).ready(function() {
   var inner = Array();
   inner = $(" .product-options ul.options-list .label>label");
   for (i = 0; i < inner.length; i++) {
     var classN = inner[i].innerText;
     if (classN == "Black" || classN == "Green") {
       inner.eq(i).addClass(classN);
     }
   }
 });

</script>

enter image description here

修改

当我们不加载jquery时,<button type="button" title="Add to Cart" class="button btn-cart" onclick="productAddToCartForm.submit(this)"><span><span>Add to Cart</span></span></button> 按钮正常工作here

1 个答案:

答案 0 :(得分:0)

发现问题好友! :)

我在你的HTML中发现了jquery.min.js脚本调用的几个实例,我不知道你为什么要这样做但是这会导致$.noConflict()无法工作而不会覆盖正常的行为jQuery和Prototype在同一页面上工作。

以下是我删除的内容的截图

screenshot

删除了<head>标记的所有实例,但第一个和HTML中的第一个jquery.min.js脚本调用除外。

古德勒克!

<强> **更新**

根据OP的关注,这是以magento运行的,并且严格需要来自上图的代码。因此,在jquery.min.js脚本调用之后放置var jQuery = $.noConclict()并将$替换为jQuery函数中的document.ready可以解决问题。