我在IE中遇到过这个问题.我有两个div用于将所选元素从一个拖到另一个.假设我在div1中有一个子元素(也是div),在div2中有一些子元素.我在div1的子元素上调用div2.appendChild()方法.它从div1中删除子项并将其附加到div2.如果我然后尝试将子项追加到div1,我在IE中得到以下异常"对方法或属性访问的意外调用".它在firefox中运行得很好.请参阅以下javascript的代码段.
function moveSelectedGroupBoxItems(toLocation, grp){
document.body.className = 'groupBoxDefaultCursor';
if(groupBoxfromLocation != toLocation){
if(grp == groupBoxGroup){
var fromVal = document.getElementById(groupBoxfromLocation);
var toVal = document.getElementById(toLocation);
var children = fromVal.childNodes;
for (var i = children.length - 1; i >= 0; i--) {
if(children[i].className == 'groupBoxItemSelected'){
children[i].childNodes[0].name=toLocation;
toVal.appendChild(children[i]);
}
}
}
}
groupBoxfromLocation = '';
groupBoxGroup = '';
return false;
}
Run Code Online (Sandbox Code Playgroud)
这基本上在拖动时将所选子div从一个父div移动到另一个父div.
如何删除附加的脚本,因为它会导致我的应用程序出现问题.
这是我获取脚本的代码
var nowDate = new Date().getTime();
var url = val.redirect_uri + "notify.js?nocache=" + nowDate + "&callback=dummy";
var script = document.createElement('script');
script.src = url;
document.body.appendChild(script);
Run Code Online (Sandbox Code Playgroud)
然后我有一个自动加载功能,导致创建另一个元素脚本.
我想摆脱添加另一个元素之前附加的前一个元素.
我想在head标记中的所有其余脚本之前插入脚本标记.我如何使用原生javascript做到这一点?
<head>
//INSERT SCRIPT HERE
<script type="text/javascript" src="common.js"></script>
<script type="text/javascript" src="omni-controls.js"></script>
</head>
Run Code Online (Sandbox Code Playgroud)
当我使用它时,它只是附加在head标签中的所有标签之后.
document.getElementsByTagName("head")[0].appendChild(script);
Run Code Online (Sandbox Code Playgroud) 提前感谢任何试图帮助我的人.
我有一个表单,我将复选框添加到via appendChild()- 作为用户选择的选项 - 基于一系列标准.
当用户选中这些框中的任何一个,然后单击"继续"按钮将选择发布到另一个页面 - 然后单击后退按钮 - 用户检查的复选框 - 现在已被浏览器忘记(不再选中).
如果我使用php编写复选框或只是使用静态复选框 - 当用户选中任何这些框,然后单击"继续"按钮将选择发布到另一个页面 - 然后单击后退按钮 - 将记住所选的复选框(仍然检查)
我的问题是:
为什么浏览器忘记了用appendChild()创建复选框时用户所做的选择
但是相同的浏览器会记住用户在使用静态复选框时所做的选择
有什么关于appendChild()不允许相同的浏览器记住选中的选择?
[div id="mydiv"] here is where the checkboxes are going[div]
[script type="text/javascript"]
var newInput = document.createElement("INPUT");
newInput.id = "mycheckboxid";
newInput.name = "mycheckboxname";
newInput.type = "checkbox";
document.getElementById('mydiv').appendChild(newInput);
[/script]
Run Code Online (Sandbox Code Playgroud) 我已经使用 JavaScript 从数据列表模板中捕获了 3 个值,现在我需要将这些值附加到现有的锚点中,即:
<a id="link" href='nextpage.aspx?id=<%#Eval("PlateId")%>&pp= #Eval("price")%>'>
Run Code Online (Sandbox Code Playgroud)
我找到了从 JavaScript 获取锚点 href 的方法:
<script language='javascript' type="text/javascript" >
function addLink() {
var anchor = document.getElementById("link");
anchor.href = anchor + "&qty=";}
</script>
Run Code Online (Sandbox Code Playgroud)
但是,我无法在 之后添加 js 值 "&qty=",我尝试添加这样的值:
anchor.href = anchor +"&qty=+Value+"
Run Code Online (Sandbox Code Playgroud)
有了这个:
anchor.href = anchor +"&qty='Value' "
Run Code Online (Sandbox Code Playgroud)
我不能把它放在引号之外,因为它不会显示在锚点中。
我不知道为什么以下不起作用。
HTML:
...
<div class="col2">
<h2>Your Groups</h2>
<input type="submit" id="addnew" class="btn btn-primary" value="Create New Group"/>
<div id="parent">
<!--new div here-->
</div>
</div>
...
Run Code Online (Sandbox Code Playgroud)
JavaScript:
document.getElementById('addnew').onclick = function(){
var parent = document.getElementById('parent');
var newGroup = document.createElement("div");
newGroup.setAttribute("id", "newGroup");
newGroup.setAttribute("class", "inner");
parent.appendChild(newGroup);
};
Run Code Online (Sandbox Code Playgroud)
预先感谢您的帮助。
我正在尝试使用JavaScript将一些符号包含到div中。
它看起来应该像这样:x∈ℝ,但我得到的只是:x ∈ ℝ。
var div=document.getElementById("text");
var textnode = document.createTextNode("x ∈ ℝ");
div.appendChild(textnode); Run Code Online (Sandbox Code Playgroud)
<div id="text"></div>Run Code Online (Sandbox Code Playgroud)
我已经尝试过document.getElementById("something").innerHTML="x ∈ ℝ"并且成功了,所以我不知道为什么createTextNode方法不起作用。
我应该怎么做才能输出正确的东西?
例子:
var buttonHTML = "<button>MyButton</button>";
document.getElementById("myDiv").append(buttonHTML);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,该函数最终将文本附加到 div 中。
但是,如果我对 JQ 也这样做:
$("#myDiv").append(buttonHTML);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,它实际上会附加按钮。现在,出于各种原因,我必须使用纯 JS(而不是 JQ)。
谁有想法?
我正在用HTML/JS编写一个示例程序来演示创建用户定义对象(属性/值)的数组,创建元素,使用innerHTML从对象数组添加数据,然后附加新填充的元素以使用它来打印它的appendChild();
出于某种原因,除了我的硬编码调试之外,运行程序不提供任何输出.鉴于语言,查看源也不是很有用.
请原谅我这个简单的问题,我是JS的新手,花了很多时间阅读很多资源 - 我觉得我可能会遗漏一些小事.
谢谢!!
<title>
This is my title.
</title>
<body>
<p>xXx<br/></p>
<script>
var array = new Array();
var thing1 = {
property: "value-1"
};
var thing2 = {
property: "value-2"
};
array.push(thing1);
array.push(thing2);
for (index = 0; index < array.length; ++index) {
test_el = document.createElement("p");
test_el.innerHTML(array[index].property);
document.body.appendChild(test_el);
};
//I wish to print 'value' text into the body from my object, that is all
</script>
</body>
Run Code Online (Sandbox Code Playgroud) 我正在使用本机 javascript 将一个元素附加到我的 DOM,该元素在 X 秒后消失。
为了附加该元素,我创建了一个带有函数的文档片段,createHTML然后将该元素附加到我的容器元素中。
var elementHTML = '<div>Test element appended</div>';
elementHTML = createHTML(elementHTML);
document.getElementById('append-container').appendChild(elementHTML);
Run Code Online (Sandbox Code Playgroud)
然后我设置一个超时,在 x 秒后从 DOM 中删除该元素
setTimeout(function() {
elementHTML.parentNode.removeChild(elementHTML);
}, 2000, elementHTML);
Run Code Online (Sandbox Code Playgroud)
现在这不起作用,因为当您使用appendChild时,元素会被移动并且对元素的引用会丢失。我正在寻找一种方法来更新对elementHTML我刚刚附加到 DOM 的元素的引用。
基本上我正在寻找 jQuery 参考功能而不使用 jQuery。
我可以使用随机生成的 ID 来定位元素,或者添加一个类并循环遍历具有该类的所有元素并定位最后一个元素,但这些方法感觉很难看。
我想知道当您向 DOM 附加某些内容以定位刚刚附加的内容时是否存在某种回调,或者我的逻辑是否完全错误。
appendchild ×10
javascript ×10
append ×3
add ×1
back-button ×1
call ×1
dom ×1
html ×1
innerhtml ×1
native ×1
symbols ×1
text ×1
unicode ×1