Jax*_*ian 0 javascript linq jquery
我的谷歌搜索技巧让我失望.
我的理解是,有一种方法可以让我开始编写jQuery,使其与Linq非常相似.我不一定是在语法上,而是在定义上更多(使用内联/匿名函数).但是,我无法理解如何将它带到那里.
所以为了帮助我,我创建了一个带有TextArea的页面,我希望TextArea在高度(即rows=10或其他)中增加,因为我在其中插入换行符.所以我想用以下脚本执行此操作:
<script language="javascript" type="text/javascript">
$(document).ready(function () {
$(#mytxt).keypress(function () {
$(this).attr(rows, $(this).val().select(function (x) { x == '\n'}).count());
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
那么我怎样才能以Linq-esque的方式继续这样做呢?请注意,我知道我可以在javascript中以许多其他方式执行此操作(正则表达式,在分隔符上拆分字符串等)但我想以类似Linq的方式执行此操作.另外,我不想使用任何第三方库/插件来帮助解决这个问题 - 我正在寻找jQuery标准的东西.再一次,确切的语法不是我想要的Linq(即使这是我写我的例子的方式) - 只是概念.
你是某种方式正确.LINQ以IQueryable类型运行,而jQuery使用jQuery运行:).虽然IQueryable比jQuery对象更抽象,但在数据方面.然而,你误解了哪些数据是非jQuery的概念.jQuery对象围绕DOM对象,只与它们一起运行.值可以传递和抛出,但必须有DOM,或jQuery是没有意义的.为了进行比较,IQueryable用于处理数据,值或对象.这是两个完全不同的概念,在使用它们时只有一些类似的原则.
$(#mytxt) 应该 $("#mytxt")val() 返回标量,这不是jQuery,因此您无法使用事件处理程序 select()$(document).ready(callback)语法有点被弃用,jQuery(callback)改为使用,或者只是$(callback)event传递回调函数,该函数将接收有关该事件的数据.event.which将是字符代码.有关详细信息,请访问此页面因此,你会有这样的选择:
<script language="javascript" type="text/javascript">
$(function () {
$("#mytxt").keypress(function (event) {
if(event.which==13)
$(this).attr("rows", $(this).val().split("\n").length );
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
请注意,val()返回标量(通用JavaScript字符串),这与jQuery无关.split()是用于字符串操作的JavaScript函数,因此是length用于测量数组长度的JavaScript属性.