Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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 WebStorm需要$.insertBefore()的多个参数吗?_Javascript_Jquery_Webstorm - Fatal编程技术网

Javascript WebStorm需要$.insertBefore()的多个参数吗?

Javascript WebStorm需要$.insertBefore()的多个参数吗?,javascript,jquery,webstorm,Javascript,Jquery,Webstorm,我有下面的代码,目前正在按预期工作。它根据属性loadOrder将元素插入到objGrid中 let $elTileTitle = $('<div/>', { class: 'tileTitle', html: tile.title }); let $elNext; for (let i = tile.loadOrder; i < objectLength(tiles); i++) { let $potentialNext = $(`.tile[data-loador

我有下面的代码,目前正在按预期工作。它根据属性
loadOrder
将元素插入到
objGrid

let $elTileTitle = $('<div/>', { class: 'tileTitle', html: tile.title });

let $elNext;
for (let i = tile.loadOrder; i < objectLength(tiles); i++) {
    let $potentialNext = $(`.tile[data-loadorder="${i}"]`);
    if ($potentialNext.length > 0) {
        $elNext = $potentialNext;
        break;
    }
}
if (typeof $elNext !== 'undefined') {
    $elTile.insertBefore($elNext);
} else {
    let $elPrev;
    for (let i = tile.loadOrder; i < 0; i--) {
        let $potentialPrev = $(`.tile[data-loadorder="${i}"]`);
        if ($potentialPrev.length > 0) {
            $elPrev = $potentialPrev;
            break;
        }
    }
    if (typeof $elPrev !== 'undefined') {
        $elTile.insertAfter($elPrev);
    } else {
        $elTile.appendTo(objGrid);
    }
}
这表现出奇怪的行为。此代码运行后,
$(“#网格”)
为空。奇怪的是,所有的tile都存在于DOM中(即,如果我在控制台中键入
$(“#tile store”)
,我会得到一个包含所有预期属性的对象),但是我在HTML(“元素”选项卡中找不到它们,UI为空

有什么明显的我做错了吗?如果需要,我可以提供更多信息

但是我注意到IDE中有一条警告,insertBefore()的参数数量无效


你的IDE搞错了。它错误地将的规则应用于您对jQuery的使用。您最初对jQuery的使用还不错如果使用的是DOM,则需要给它另一个参数。但它们的功能完全不同。

唉。既然你发了这篇文章,我记得我已经发现了这一点,甚至还问过它。这是JetBrains的一个bug。我找不到这个bug,所以我打开了我看到的关于IDE bug的其他问题,这些问题没有被认为是离题的,FWIW;当WebStorm对他们这样做时,其他人可能会有同样的问题。:-)我看你加了标签,这是个好主意。也许把标题改为“为什么WebStorm告诉我insertBefore有无效的参数?”或者类似的内容来帮助搜索……好提示。完成。
$('#grid').insertBefore($elTile,$elNext);