我正在尝试将此JavaScript代码翻译为JSNI代码。
脚本导入
<script src="jquery-1.11.2.min.js"></script>
<script src="jquery.typeahead.min.js"></script>
<script src="autocompletetest/autocompletetest.nocache.js"></script>
脚本
$('#q').typeahead({
minLength: 1,
order: "asc",
group: true,
groupMaxItem: 6,
hint: true,
dropdownFilter: "All",
href: "https://en.wikipedia.org/?title={{display}}",
template: "{{display}}, <small><em>{{group}}</em></small>",
source: {
country: {
data: data.countries
},
capital: {
data: data.capitals
}
},
...
致
$doc.getElementsByClassName("q").typeahead({
...
})
但是我收到了这个错误:
@com.citi.sevi.client.AutocompleteTest::loadJquery()([]): $doc.getElementsByClassName(...).typeahead is not a function
可能导致此错误的原因是什么?
答案 0 :(得分:1)
jQuery的$
函数不仅仅是getElementsByClassName
包装器,它将结果包装在插件所在的jQuery
对象中。要调用typeahead
方法,您 要使用$win.$("q")