我有一个脚本,点击一个按钮做很多事情并重命名一些元素,所以起初我使用第一个脚本,我看有时工作,有时不工作,所以把它改成第二个脚本,所有时间都完美,但是有一个问题。这两个脚本是一样的吗?有什么不同,而不是我的所有脚本我只是用第二个替换第一个。
这是第一个脚本
$(CloneTarget).find(':input[name="' + MainName + '"]').attr('name', NewSelectName);
第二个:
$(CloneTarget).find(':input').each(function () {
if ($(this).attr('name') == MainName) {
$(this).attr('name', NewSelectName);
}
});
第一个问题在哪里?
修改
我也用这个:
$(CloneTarget).find(':input[id="' + MainId + '"]').attr('id', NewSelectId);
并且每件事情都很好我在这里真的很困惑,我必须提到MainName
和MainId
是如此相似,如:MainName = Model.Phones[0]
和MainId = Model_Phones[0]
差异在于{ {1}}角色或任何其他事物?
答案 0 :(得分:7)
是的,有区别。您的第二个代码段会在元素的name
属性和MainName
的值之间执行字符串比较。第一个直接将MainName
的值注入Attribute Equals选择器。
因此,如果MainName
恰好包含:
'
,"
,[
或\
。