如何使用javascript聚焦表格单元格?

时间:2012-12-13 11:11:55

标签: javascript jquery

VB脚本声明,

Set oHighlightedRow = document.all("SearchRow" & nHighlightedRow) oHighlightedRow.cells(0).focus()

这两个语句需要转换为javascript.anyone可以帮我找到解决方案吗? 感谢名单

我转换的代码是,

var oHighlightedRow = $("#SearchRow" + nHighlightedRow);
oHighlightedRow.cells[0].focus();

这是对的吗?

3 个答案:

答案 0 :(得分:4)

行:

var oHighlightedRow = document.all("SearchRow" + nHighlightedRow);
oHighlightedRow.cells[0].focus();

或者,更好(假设行的id为"SearchRow" + nHighlightedRow):

var oHighlightedRow = document.getElementById("SearchRow" + nHighlightedRow);
oHighlightedRow.cells[0].focus();

或者,jQuery(再次假设该行的id为"SearchRow" + nHighlightedRow):

$("#SearchRow" + nHighlightedRow + " td:first").focus();

答案 1 :(得分:2)

您无法在所有浏览器上关注表格单元格。以下是jQuery文档所说的内容:

The focus event is sent to an element when it gains focus. This event is implicitly applicable to a limited set of elements, such as form elements (<input>, <select>, etc.) and links (<a href>). In recent browser versions, the event can be extended to include all element types by explicitly setting the element's tabindex property. An element can gain focus via keyboard commands, such as the Tab key, or by mouse clicks on the element.

要确保这适用于所有浏览器,您可以实现一些CSS类并为鼠标键添加事件侦听器。然后只需从表格单元格中添加/删除css类。

为了使用id="target"聚焦元素,请使用此

$('#target').focus();

答案 2 :(得分:0)

您可以使用简单的jQuery库帮助完成此操作

$('selector').focus();                     

// $('selector') --> could be $('#tableId td')  

有关详细信息,请查看http://api.jquery.com/category/selectors/