我多年来一直使用这种方法而且我不知道这是不是一个好主意。如果要将数据传递给函数,如何继续?
例如,将字符串数据传递给jquery .hover事件:
<table>...
<tr class='my_row' id='uniqueid_param1_param2_param3'>
<td>Some value #1</td>
<td>Some value #2</td>
...
<td>Some value #n</td>
</tr>
在jQuery中:
$('.my_row').hover(function(){
var param = $(this).attr('id').split('_');
param[1]; // param1
param[2]; // param2
param[3]; // param3
});
有优点和缺点,我不会列举它们,但我会写另一个例子,正常人或我认为其他人如何使用:
<table>...
<tr class='my_row'
onmouseover="handle_param('param1', 'param2', 'param2');"
onmouseout="handle_param('param1', 'param2', 'param2');">
<td>Some value #1</td>
<td>Some value #2</td>
...
<td>Some value #n</td>
</tr>
在js中:
function handle_param(param1, param2, param3){
//...
}
我不喜欢这种方法,如果你有很多行,这不是一个好的想法。
那么,你如何进行?如果必须将数据传递给函数,你将如何做?
答案 0 :(得分:1)
我自己使用完全有效的数据属性:
<tr class='my_row' id='uniqueid' data-param1='param1' data-param2='param2'>
JS
$('.my_row').on('mouseenter mouseleave', function() {
var param1 = $(this).data('param1'),
param2 = $(this).data('param2');
.....
});