【发布时间】:2012-08-10 21:06:06
【问题描述】:
我想选择控件中的第一个选项,所以我写:
$("#MySelect").val($("#MySelect option:first").val());
现在继续将以下内容复制粘贴到google closure compiler:
// ==ClosureCompiler==
// @output_file_name default.js
// @compilation_level ADVANCED_OPTIMIZATIONS
// @externs_url http://closure-compiler.googlecode.com/svn/trunk/contrib/externs/jquery-1.7.js
// ==/ClosureCompiler==
$("#MySelect").val($("#MySelect option:first").val());
你会得到这个错误:
我不明白为什么编译器会抱怨!有什么问题?
感谢您的建议。
【问题讨论】:
-
你可以这样做
$("#MySelect").prop("selectedIndex", 0 ) -
看起来内部
.val()方法可能返回与外部.val()方法期望的参数不匹配的类型。例如,如果它返回了一个不正确的jQuery对象 - 当然我们知道.val()仅在调用 with 参数时返回一个jQuery对象,因此在您的代码中永远不会发生在内部.val()... -
你可以用
index()代替val() -
@Esailija:您应该将您的评论标记为答案;它有效。
-
我认为这不是一个真正的答案。这是一种解决方法 - 但您不必为了让某些工具满意而更改完美的代码。
标签: javascript jquery google-closure-compiler