0

我对正则表达式非常陌生,并且由于涉及特殊字符,因此无法正确选择/替换这些字符串。

给定这样的表单元素:

<select id="referralForm_currentReferredProducts_1__soldProductId" class="autoWidth soldProductSelect" name="currentReferredProducts[1].soldProductId">

如何选择 id 和 name 属性并增加它们?表单元素作为 HTML 片段附加到表单中,在将它们附加到 DOM 之前,我无法实现它们。

谢谢!

更新: 我尝试使用正则表达式来测试不同的表达式,这个正确选择了下划线: \_[0-9]+\_

它实际上并没有替换任何东西..这是我的代码:

$.each($('#add-a-product-wrapper').children().last().find('[id*="__"]'), function(){
    $(this).attr('id').replace(/\_[0-9]+\_/, '_'+ replaceIndex +'_');
});
4

2 回答 2

1

我能够弄清楚..

$.each($('#add-a-product-wrapper').children().last().find('[id*="__"]'), function(){
    var newVal = $(this).attr('id').replace(/\_[0-9]+\_/g, '_'+ replaceIndex +'_');
    $(this).attr('id', newVal);
});

我没有意识到 replace()返回一个值,而不是直接设置一些东西。返回值后,可以将其设置为表单元素的新 ID。

于 2012-11-28T18:05:33.337 回答
0

尝试这个:

$('select').attr('id','new_id').attr('name','new_name');
于 2012-11-28T16:45:23.383 回答