我在使用jQuery $([selector])时出现轻微错误.adndnd(element),
var Site_Id = 119;
var iLi = document.createElement("li");
iLi.setAttribute("class", "hidden site_id_"+Site_Id);
iLi.setAttribute("name", "ArticleType["+Site_Id+"]");
console.log(iLi)
$(".level-2 div row_group_off").append(iLi);
由于某种原因,DOMm抛出一个异常,jQuery调用它
uncaught exception: [Exception... "Could not convert JavaScript argument arg 0 [nsIDOMDocumentFragment.appendChild]" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: {path_removed} :: <TOP_LEVEL> :: line 12" data: no]
因此我添加了console.log
我上面的代码中的<li class="hidden site_id_151" name="ArticleType[151]">
.level-2 div row_group_off
这意味着该元素被创建为非常有效的HTMLLiElement,但由于某种原因,jQuery无法将其附加到我的UL {{1}}
答案 0 :(得分:3)
首先:为什么要以这种方式将vanilla Javascript与jQuery混淆?
我会选择它,比如
$('<li>', {
'class': 'hidden site_id_' + Site_Id,
'name': 'ArticleType[' + Site_Id + ']'
}).appendTo( '.level-2 div row_group_off' );
当然,row_group_off
必须是<ul>
元素。在当前形式中,jQuery将尝试使用名称* row_group_off *来查询节点,这有希望不存在。因此,您要么忘了#
或.
来查询id
或class
-name
答案 1 :(得分:1)
尝试:
$(".level-2 div .row_group_off").append(iLi);
或者
$(".level-2 div #row_group_off").append(iLi);
或者
$(".level-2 div.row_group_off").append(iLi);
或者
$(".level-2 div#row_group_off").append(iLi);