哪种js功能更适合工业标准?

时间:2011-04-05 17:07:50

标签: javascript textbox setfocus

我有两个JavaScript程序,一个是我在旧公司中使用过的,另一个是我在网站上遇到的。今天,我注意到我的同事在程序中使用了这两个标准,在最终确定产品之前,我们必须将所有内容更改为一个标准代码。

<script type="text/javascript">
   // Reference the textbox
   var txt = document.getElementById("<%=txtName.ClientID%>");

   // If the textbox was found, call its focus function
   if (txt != null)
      txt.focus();
</script> 

<script type="text/javascript">
   // Reference the textbox and call its focus function
   var txt = $("#txtName");

   txt.focus();
</script> 

如果您处于这种情况,您会建议哪一个以及为什么?

4 个答案:

答案 0 :(得分:2)

第一个是普通的JS,第二个是使用jQuery包装。如果你已经采用jQuery作为JS框架,第二个选项更好:)。 在这个特殊情况下,第二个是更好的,因为你不必关心测试该变量是否为null(你正在调用jQuery元素的焦点函数,所以它将注意检查元素是否在DOM上或不)

答案 1 :(得分:1)

第二个使用jquery,因此它依赖于该库,但它具有很强的可读性。你甚至可以写得更短:$("#txtName").focus();

第一个更快,但总体而言,这种差异并不重要,但使用jQuery编写和读取代码更容易。

答案 2 :(得分:1)

如果您在团队中工作,txtName.ClientID可能会让您的同事更清楚。我不得不每天在同事的指导下完成许多代码,我会这样做 或者充分利用两个世界并使用类似:$("#<%=txtName.ClientID%>").focus()

的内容

答案 3 :(得分:1)

正如stecb所说,第一个是纯JavaScript代码,第二个是某种JS库(很可能是jQuery)。这里没有正确或错误的方法,即使你在加载它时在整个项目中使用库也是有意义的,你显然是这样。使用纯JavaScript的潜在性能提升对现代系统的基本用法来说可以忽略不计。

您应该检查所有网址/页面是否加载了JS库,有时开发人员只会在某些页面上加载某些库,这会阻止您使用该库,除非您将其包含在内。