1

まあ、タイトルはそれを言っています。私のjavascript関数はいくつかの「ブロック」を構築し、それらを作成するために使用<ul><li>ます。問題は、Web ページ上の他のすべてが削除されること<li>です。

編集:(まあ、関数がこれを引き起こしていると思います。そして、削除すると、つまり、それらは完全になくなります。ブラウザでHTMLソースを見ると、私だけが表示され、そこには表示され<ul></ul>ません<li></li>。それらはGONEです)

Webページ<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>が削除されるWeb ページ上のその他の HTML :

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

どんな助けでも大歓迎です

敬具、モーリス

4

4 に答える 4

2

それはあなたが呼ぶからです。

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

<div id="a2">編集 - 内部使用の ul のみを選択するに は

$('div#a2 ul');
于 2012-04-26T12:21:41.850 に答える
1
var floors = $('ul');

この行は基本的に、ページ上のすべての ul 要素を選択します

使用中のulだけが必要な場合:

var floors = $('div#a2 ul');
于 2012-04-26T12:20:41.723 に答える
1
var floors = $('ul');
floors.empty();

これにより、ページ上のすべての子孫ノードがすべて削除ulされます。

于 2012-04-26T12:21:07.887 に答える
0

jqueryセレクターで文字列を宣言するのはなぜですか? これ:

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

次のようにする必要があります。

 tempRos="<li><\/li>"
于 2012-04-26T12:22:21.080 に答える