Javascript 函数创建自己的 <li></li>,但在此过程中删除网页上的所有其他<li></li>

Javascript function creates it's own <li></li>, but removes all other <li></li> on the webpage in the process

本文关键字:li 网页 删除 其他 过程中 创建 函数 自己的 Javascript      更新时间:2023-09-26

好吧,标题说它al。我的javascript函数构建了一些"块",并使用<ul><li>来创建它们。问题是,它会删除网页上的所有其他<li>

编辑:(好吧,我假设函数导致了这种情况。删除我的意思是:它们完全消失了,在浏览器中查看 HTML 源代码只会显示<ul></ul>,其中没有<li></li>,它们消失了)

为网页提供<ul><li>不同的类不起作用,它仍然会删除<li></li>

我该如何防止这种情况?

JS函数(只是其中的一部分):

//Board build up
function setBlocks() {
    bR = 0;
    counts = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    var mR = 5, mC = 6;
    var tempFloor, tempRow, tempBlock;
    var floors = $('ul');
    floors.empty();
    for (var f = 0; f < 4; f++) {
        bM[f] = [];
        for (var r = 0; r < mR; r++) {
            bM[f][r] = [];
            tempRow = $('<li></li>');
        $(floors[f]).append(tempRow);
        for (var c = 0; c < mC; c++) {
            var randomNoRequired = true;
            var randomClass;
            while(randomNoRequired) {
                randomClass = Math.round(Math.random() * 10 + 0);
                if (counts[randomClass] < 6 || bR >= 66) {
                    randomNoRequired = false;
                }
            }
etc etc etc

JS使用的HTML:

<div id="a2">
                    <ul></ul>
                    <ul></ul>
                    <ul></ul>
                    <ul></ul>
                    <a class="x"></a>
                </div>

网页上删除<li></li>的其他 HTML:

<div id="scoreboard-overview">
        <ul> 
             <li>
             test
             </li>
etc etc etc

任何帮助不胜感激

亲切问候莫里斯

那是因为你叫

var floors = $('ul');
floors.empty();

编辑 - 仅选择<div id="a2">内部的 ul 使用

$('div#a2 ul');
var floors = $('ul');
floors.empty();

这将删除页面上每个ul的所有后代节点。

var floors = $('ul');

这一行基本上选择了页面上的所有UL元素

如果您只想使用 UL:

var floors = $('div#a2 ul');
为什么要

用jQuery选择器声明字符串? 这个:

 tempRow = $('<li></li>');

应该是:

 tempRos="<li><'/li>"