Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $()功能未按预期工作_Javascript_Jquery - Fatal编程技术网

Javascript $()功能未按预期工作

Javascript $()功能未按预期工作,javascript,jquery,Javascript,Jquery,此函数工作正常,但当我使用jQuery的$()方法而不是文档更新它时,getElementById会给出一个错误: function drag_drop(event) { event.preventDefault(); /* Prevent undesirable default behavior while dropping */ var elem_id = event.dataTransfer.getData("text"); event.target.appendC

此函数工作正常,但当我使用jQuery的
$()
方法而不是
文档更新它时,getElementById
会给出一个错误:

function drag_drop(event) {
    event.preventDefault(); /* Prevent undesirable default behavior while dropping */
    var elem_id = event.dataTransfer.getData("text");
    event.target.appendChild( document.getElementById(elem_id) );
    $('#app_status').innerHTML = "Dropped "+elem_id+" into the "+event.target.getAttribute('id');
    document.getElementById(elem_id).removeAttribute("draggable");
    document.getElementById(elem_id).style.cursor = "default";
    droppedIn = true;
}
更新后的函数如下所示:

index.js:22 Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.
    at drag_drop (index.js:22)
    at HTMLDivElement.ondrop (index.html?_ijt=ifai0ih42qnjkillablo2ulcln:15)

根据
jQuery

function drag_drop(event) {
    event.preventDefault(); /* Prevent undesirable default behavior while dropping */
    var elem_id = event.dataTransfer.getData("text");
    event.target.appendChild( $('#' + elem_id) );
    $('#app_status').innerHTML = "Dropped "+elem_id+" into the "+event.target.getAttribute('id');
    $('#' + elem_id).removeAttribute("draggable");
    $('#' + elem_id).style.cursor = "default";
    droppedIn = true;
}

$(“#app_status”).html(“droped”…)
-你应该找到一本基本的jQuery书籍或教程。似乎你在混合
jQuery
vanilla js
app_status是元素的id,其中as elem_id是包含id的变量
$()
返回一个jQuery对象,而不是一个元素。你可以从物体上看,但我个人怀疑你是否应该。为什么要用一段同样长且复杂的代码来替换一段完美工作的普通JavaScript,而且还需要一个厚厚的库呢?您唯一需要的jQuery参考--->您的应用程序中是否包含了
jQuery
任何版本???如果没有,则已包含
added@AhtishamShahid . 你能解释一下你想在这里做什么吗
event.target.appendChild($('#'+elem_id))
function drag_drop(event) {
   event.preventDefault(); /* Prevent undesirable default behavior while dropping */
   var elem_id = event.dataTransfer.getData("text");
   event.target.appendChild( $('#' + elem_id) );

   // ---- **Updated Code**
   $('#app_status').html("Dropped "+elem_id+" into the "+event.target.getAttribute('id'));
   $('#' + elem_id).removeAttr("draggable");
   $('#' + elem_id).css({cursor: "default"});


   droppedIn = true;
}