1

我多年来一直使用这种方法,但我不知道这是否是个好主意。如果要将数据传递给函数,您将如何进行?

例如,将字符串数据传递给 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){
  //...
}

我不喜欢这种方法,如果你有很多行,这不是一个好主意。

那么,您将如何进行?如果必须将数据传递给函数,你会怎么做?

4

1 回答 1

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');

   .....
});
于 2013-04-07T10:36:39.720 回答