Я продолжаю экспериментировать с парой значений значений объектов JS
. JSFIDDLEРазличные результаты получения строки значений
<div id="parent" class="parent">
<div id="child" class="child">
<input type="text" class="text"/>
<input id="submit" type="submit" onclick="doThis()"/>
</div>
<div>
и JS
код
function doThis(){
var span= document.createElement("span");
var parent=document.getElementById("parent");
var child=document.getElementById("child");
var submit=document.getElementById("submit");
child.insertBefore(span,submit);
myKeys=[];
for(var key in submit){
if(key=="parentNode"){
myKeys.push("{"+key);
myKeys.push(" "+submit.key+"}");
}
}
myKeys.push("{"+"parentNode");
myKeys.push(" "+submit.parentNode+"}");
span.innerHTML=myKeys;
}
Просто создан span
содержит следующее:
{parentNode, undefined},{parentNode, [object HTMLDivElement]}
Но я ожидал, что это span
будет содержаться {parentNode, [object HTMLDivElement]},{parentNode, [object HTMLDivElement]}
. Пожалуйста, объясните мне, почему это произошло?
Обновлено: Я изменил ссылку на фактическую.
Что именно ваш вопрос? Что ты пытаешься сделать? Является ли промежуток вставленным в неправильное место? – Samy
@Samy Я пытаюсь понять, почему фрагмент кода 'for (var key in submit) {if (key ==" parentNode ") {myKeys.push (" {"+ key); myKeys.push ("" + submit.key + "}");}} 'добавлен в' myKeys' '{parentNode, undefined}', а не '{parentNode, [object HTMLDivElement]}', поскольку он был добавлен 'myKeys .С ("{" + "ParentNode"); myKeys.push ("" + submit.parentNode + "}"); span.innerHTML = myKeys; ' –