我能得到一些建议。你有更好的方法吗?
大多数情况下,当我在Html表中输入一组数据时,我总是将数据调整为 一些引用ID,如“student_id”,或“country_id”到父结构,如或,
例如
<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');
.......
你有更好的方法存储这些参考?感谢。
答案 0 :(得分:5)
与旧版浏览器向后兼容且在jQuery中具有特定支持的HTML5 way of doing this具有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类型,因此在上面的情况下,它会自动将这些值转换为数字。