我已经动态创建了一个div。试图将通过jquery
扩展的类添加为不起作用。但是我在控制台中尝试了代码,它的工作正常。
代码如下:
追加元素名称
var menuId= '#itemMenu' + indexOfElement;
然后尝试了这个
$(menuId).addClass('expanded');
当我在控制台中尝试以下时
e.g。 $('#itemMenu5').addClass('expanded')
工作正常..
答案 0 :(得分:1)
var menuId= 'itemMenu' + indexOfElement;
var element = document.getElementById(menuId);
element.className += ' expanded'; //note the space
答案 1 :(得分:1)
您可以使用此示例向动态DIV添加类:
<强> HTML 强>
<div id="static">I am static</div>
<强> CSS 强>
.expanded {
font-size: 20px;
}
.never-added {
color: red;
}
<强> JQuery的强>
var indexOfElement = 5;
var menuId = '#itemMenu' + indexOfElement;
//store the new DIV in a var
var newDiv = $('<div/>').text('I am dynamic').attr('id', menuId);
newDiv.insertAfter('#static');
//add the class later
newDiv.addClass('expanded');
//never added
$('#itemMenu5').addClass('never-added');
<强> Here is a Demo 强>
动态创建DIV,然后使用您指定的ID将$('#itemMenu5').addClass('expanded');
的类应用到它,因为DOM还不知道新元素。
将新元素分配给变量将允许您修改它。
编辑:
我添加了一个示例,其中显示了never-added
类,它永远不会被添加到新DIV中。
答案 2 :(得分:0)
您可以尝试:
$("#menuId").addClass('expanded'); try directly