1

我能得到一些建议吗?你有更好的方法来做到这一点吗?

大多数时候,当我在 Html 表中输入一组数据时,我总是将诸如“student_id”或“country_id”之类的参考 id 之类的数据归类为父结构,例如 or,

例如

<tr student_id="1" subject_id="2" school_id="5" country_id="6">
 <td></td>
 <td></td>
 <td></td>
 <td></td>
  .....
  ......
</tr>
....
.....

<tr student_id="43" subject_id="35" school_id="22" country_id="411">
 <td></td>
 <td></td>
 <td></td>
 <td></td>
  .....
  ......
</tr>
....
.....

当我调用 javascript 函数时,我可以在函数中获取并获取那些 id

var tr  = $(this).closest('tr');
var student_id =  $(this).attr('student_id');
var subject_id =  $(this).attr('subject_id');
var school_id =  $(this).attr('school_id');
.......

你有更好的方法来存储这些参考吗?谢谢。

4

1 回答 1

5

与旧浏览器向后兼容并在 jQuery 中具有特定支持的HTML5 方法data-xxx是使用属性。

<tr data-student_id="43" data-subject_id="35" data-school_id="22" data-country_id="411">

var tr  = $(this).closest('tr');
var student_id = tr.data('student_id');
var subject_id = tr.data('subject_id');
var school_id = tr.data('school_id');

在 HTML5 中这样做的原因之一是,这会将所有自定义数据属性放在"data-"命名空间中,这样可以保证永远不会与可能在任何 HTML 标记上定义的未来标准属性发生冲突。在 jQuery 中,它还与存储每个对象数据的 .data() 方法统一起来。

请注意,当使用 jQuery 的.data(key)方法时,它还会尝试将数据转换为原生 javascript 类型,因此在上述情况下,它会自动将这些值转换为数字。

于 2012-08-28T07:38:17.883 回答