我需要获取一行中每个输入字段的名称,然后进行更改。我很难找到引用名称字段的正确语法。例如:
<tr id="row_0" class="dataRow">
<input type="text" class="tabcell" name="_0-3" size="6" value=7.0 />
<input type="text" class="tabcell" name="_0-7" size="6" value=7.6 />
我遍历行并想要重命名每个td字段:
var namePrefix = "AFS";
$('td:eq(0)', this).each(function(e) {
$('td:eq(0) input[name]', this).replaceWith($(namePrefix + 'td:eq(0) input', this).val());
.... etc ...
但这不起作用。 最终结果应如下所示:
<tr id="row_0" class="dataRow">
<input type="text" class="tabcell" name="AFS_0-3" size="6" value=7.0 />
<input type="text" class="tabcell" name="AFS_0-7" size="6" value=7.6/>
任何人都知道我如何引用输入字段名称并进行更改?
感谢。
维克
答案 0 :(得分:4)
使用.attr
和.removeAttr
方法更改名称。
var elem = $('.selector'); //cache element
var name = elem.attr('name'); // accesses name attribute
elem.attr('name', myName); // changes/adds name
elem.removeAttr('name'); // removes name
答案 1 :(得分:1)
我认为这会奏效:
$('tr input').each(function(){
$(this).attr('name', 'ASF' + $(this).attr('name'));
});