HTML结构是这样的:
<li class="hide-sub-menu">
<ul>
<li value="screen-15" class="submenu"><span>常规设置</span></li>
<li value="screen-16" class="submenu"><span>数字证书</span></li>
</ul>
</li>
js是这样写的:
$(".submenu").click(function(){
$(this)[0].append('<span class="icon-arrow"></span>');
})
已经在CSS文件中写好了.icon-arrow的样式,<span class="icon-arrow></span>是个»符号,目的是点击当前的菜单动态添加一个»,以表示当前菜单被选中,上面写的结构是子菜单,主菜单通过这种方法是可行的,
但是到这里就不行了,插入效果是这样的:
试了一下这样写还是不行:
var icon_arrow = document.createElement("span");
icon_arrow.setAttribute("class","icon-arrow")
$(this)[0].appendChild(icon_arrow);
$(this)[0]多此一举,为何转换2次;
$(this)[0] === this;不明白你到底是想用jq的方法还是原生的方法;
如果想用原生的方法:this.appendChild('<span class="icon-arrow"></span>');
如果jq的方法:$(this).append('<span class="icon-arrow"></span>');||$('<span class="icon-arrow"></span>').appendTo($(this))