我有一个函数,它接受一个div id并设置其中几个输入控件的值,最后显示div。我的功能看起来像这样:
function updateDiv(div_id)
{
$("#"+div_id+" :input[ID^='FIRST']").val('First Name');
$("#"+div_id+" :input[ID^='LAST']").val('Last Name');
$("#"+div_id).show();
}
但它似乎没有用。我错过了什么吗?
答案 0 :(得分:1)
将id
作为字符串传递通常是个坏主意。至少,你不应该三次选择元素!
此外,属性(例如ID
)不应为大写。
function updateDiv(div_id) {
var div = $('#'+div_id);
div.find(':input[id^="FIRST"]').val('First Name');
div.find(':input[id^="LAST"]').val('Last Name');
div.show();
}
答案 1 :(得分:0)
我有一个可行的解决方案:
属性值区分大小写,例如,如果id="firstname"
,则选择器不匹配。
<div id="mydiv">
<input type="text" id="FIRSTNAME"/>
<input type="text" id="LASTNAME"/>
</div>
$(document).ready(function(){
var div_id = "mydiv";
$("#"+div_id+" :input[ID^='FIRST']").val('First Name');
$("#"+div_id+" :input[ID^='LAST']").val('Last Name');
});