我遵循jQuery代码:
$(document).ready(function() {
$('.products').click(function () {
var table_id = $(this).closest('table').attr('id');
var no = table_id.match(/\d+/)[0];
var first_row = $(this).closest('table').find('tbody tr:first').attr('id');
var new_row = $('#'+first_row).clone();
var tbody = $('tbody', '#'+table_id);
var n = $('tr', tbody).length + 1;
new_row.attr('id', 'reb' + no +'_'+ n);
$(':input', new_row).not('.prod_list').remove();
$(':select', new_row).attr('name','product_id_'+no+'['+n+']');
$(':select', new_row).attr('id','product_id_'+no+'_'+n);
$('<button style="color:#C00; opacity: 2;" type="button" class="close delete" data-dismiss="alert" aria-hidden="true">×</button>').appendTo( $(new_row.find('td:first')) );
tbody.append(new_row);
$('.delete').on('click', deleteRow);
});
});
使用上面的代码我在HTML表中附加一个新内容。但是这一行只包含select控件。所以我使用上面的代码将id和name的值设置为该选择控件。在此期间,我在firebug控制台中收到如下语法错误:
"Error: Syntax error, unrecognized expression: unsupported pseudo: select"
如果我删除上面两行,我写了设置id和name值来选择控件,其他代码工作绝对没问题。那么有人可以解决这个问题并允许我设置新创建的行选择控件的id和值吗?感谢
答案 0 :(得分:11)
没有名为:select
的选择器,只有select
(element selector)会做 - 你可能已经尝试过了,因为pseudo selector :input是一个特殊的选择器选择所有输入,选择和textarea元素
$('select', new_row)
答案 1 :(得分:-1)
&#34;:&#34;字符仅适用于伪选择器,如
$('tr:nth-child)