Jquery内联属性值

Jquery inline attribute value

本文关键字:属性 Jquery      更新时间:2023-09-26

我能得到一些建议吗。你有更好的方法吗

大多数时候,当我在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');
.......

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

HTML5实现这一点的方法是使用data-xxx属性,它与旧浏览器向后兼容,并在jQuery中有特定的支持。

<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类型,因此在上面的例子中,它会自动将这些值转换为数字。