js和jQuery能不能混写?

qq_27784075 2016-08-12 04:53:28

html:

<div class="search">
<input id="txttr1td2" type="text" value="Two" onclick="a(this);" >
</div>




脚本:

function a(object)
{
var id = object.id;
var searchText = "'#" + id + "'";
$(function () {
$(searchText).autocomplete({ source: ['常剑', '蔡晴晴'], minLength: 0 })
alert(searchText);
$(searchText).click(function () { $(searchText).autocomplete('search', ''); });
})
}

我把“alert(searchText);”放在“var searchText="'#"+id+"'";”后面,还能正常打印获取的id值,只要放在jQuery里面,就没反应了。求问是什么问题?
...全文
1376 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2018-01-26
  • 打赏
  • 举报
回复
没有任何问题,注意规范就好
  • 打赏
  • 举报
回复
JQ本身就基于JS,所以当然能够混写。
只是要注意用法的正确性和格式的规范性。
上面已经纠正你使用JQ时的具体语法错误了。
我想补充的是,你在大的使用思路上有问题,这不是正确使用的方式。建议在学习的前期多照着现成的规范写法去写。
xiaoqiu_net 2016-08-12
  • 打赏
  • 举报
回复
能啊 没什么影响啊,jquery也是封装的原生的js啊,有什么不能呢。
qq_16609613 2016-08-12
  • 打赏
  • 举报
回复
可以的..........
医手 2016-08-12
  • 打赏
  • 举报
回复
这貌似是变量有效范围的问题 $(function () {...}); 这相当于注册了一个事件处理,在ready事件触发时执行里面的代码。 searchText不是全局变量,当事件触发时已经找不到这个变量了
荒牧 2016-08-12
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:
var searchText = "#" + id;
楼上正解 你的alert放在jQuery里面不能弹窗是因为前面一句 $(searchText).autocomplete({ source: ['常剑', '蔡晴晴'], minLength: 0 }) 中的$(searchText)已经无法执行,导致后面的语句都不行了,你可以试一下把alert放在$(searchText)前面,如: function a(object) { var id = object.id; var searchText = "'#" + id + "'"; $(function () { alert(searchText); $(searchText).autocomplete({ source: ['常剑', '蔡晴晴'], minLength: 0 }) $(searchText).click(function () { $(searchText).autocomplete('search', ''); }); }) }
天际的海浪 2016-08-12
  • 打赏
  • 举报
回复
var searchText = "#" + id;

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧