附加表格单元格以按索引顺序选择框

时间:2014-02-06 02:58:36

标签: javascript jquery html append

我现在有一个效率很高的大脑放屁。

这里的想法是,如果我有一个静态table(不幸的是,这种格式与我收到的数据一样),我将如何恰当append select option dropdown来自每个值的DOM表格很容易分类?

我目前正在使用它,但似乎我可以使它比我当前的声明更有效。我对所有<table id='data'> <tr> <td>Item 1</td> <td>Value 1</td> <td>Prop 1</td> </tr> <tr > <td>Item 2</td> <td>Value 2</td> <td>Prop 2</td> </tr> <tr > <td>Item 3</td> <td>Value 3</td> <td>Prop 3</td> </tr> </table> <select id="item"></select> <select id="value"></select> <select id="prop"></select> 操作都有感觉,如果我试图在具有数千项目的桌子上使用它,它将落后于浏览器。我们来看看代码。

JS小提琴: http://jsfiddle.net/z2V2p/1/

HTML:

$('tr td').each(function() {
    var $this = $(this);
    var text = $this.text();
    var select = '<option value="'+text+'">'+text+'</option>';
    switch($this.index()){
        case 0:
          $('#item').append(select);
          break;
        case 1:
          $('#value').append(select);
          break;
        case 2:
          $('#prop').append(select);
          break;
        default:
          alert('Unexpected Error.');
     }
});

的Javascript / jQuery的:

array

所以,我想问题是:

  • 有没有简单的方法可以提高效率?
  • 可能使用append来缓存值,并使用index 那个?
  • 或者有更简单的方法来使用switch case项而不是 我的td如果实施了json,会更快,更可扩展吗?

我感谢所有的帮助。

我考虑过最终将darn表格转换为{{1}}对象,但我想我会先到达这里。

0 个答案:

没有答案