我需要在加载页面后更改div的id。我有HTML和CakePHP代码的混合,所以从一开始就动态地完成这一切对我来说是一个挑战。
这只是我正在努力的一个例子。
<div class = "ui-widget" id="container">
<?php
echo $this->Form- >input($fieldName,array('div'=>false,'label'=>array('id'=>'autocompleteLabe l'), 'id'=>$fieldName.'_selList'/*,'options'=>array('')*/,'style'=>'display:none '));
?>
<input id = "autocomplete" style ="" autocomplete = "on">
<label id = "autotop"></label>
</div>
id为“container”的div需要是动态的,但我无法想出一种在HTML中设置动态ID的方法,所以我试图在页面加载后更改id。但这不起作用。
我尝试了jQuery和JavaScript来做这个改变,但没有运气。这是我试过的JavaScript行没有成功。
var container = document.getElementById("div_id").id = newID;
newID是我声明的字段,包含一个带有我想要使用的id的字符串。
有什么想法吗?
答案 0 :(得分:0)
$('#container').attr('id','id_new');
答案 1 :(得分:0)
据我所知,您从某些输入中获取新ID并想将容器ID设置为新ID?
如果是这样,请尝试使用:
$(document).ready(function(){
var getContainer = $('#autocomplete').prev('div');
$(getContainer).attr('id', newID);
});
答案 2 :(得分:0)
简单的JavaScript解决方案
window.onload = function () {
document.getElementById("container").id = 'newID';
}
看起来您忘记了新ID旁边的单引号,或者如果您使用newID作为javascript变量,请执行此操作
var newID = <?= $IdNameFromServer ?>