-1

このようなチェックボックスを作成し、テーブル [TD] タグに追加すると:

var chkBx = document.createElement('input');
chkBx.type = 'checkbox';

td.appendChild(chkBx);

それは作成します

<tr>
    <td>
        <input type="checkbox" value="Current Issue">
    </td>
</tr>

この入力タグは適切に閉じられていません。これにより、コードの他の場所で問題が発生しています (たとえば、ホバーが機能しません)。

これを適切に閉じるために、Javascriptで何かする必要がありますか?

4

2 に答える 2

0

CSS セレクターは何も選択していません。

.Table .Popup tr:hover {
    background-color:red;
}

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

.Popup tr:hover {
    background-color:red;
}

(参照: http://jsfiddle.net/kUTDB/4/ )

.Table .Popup .PopupRow:hover {
    background-color:red;
}

する必要があります

table tr.PopupRow:hover {
    background-color:red;
}

また

table .PopupRow:hover {
    background-color:red;
}

(参照: http://jsfiddle.net/kUTDB/5/ )

これらは両方とも同じ要素を選択するため、より具体的なセレクター(2 番目のセレクター) が実際に使用されることになります。

最初のセレクターは、現在ホバーされている要素と、 のクラスを持つ任意の要素の子孫であり、クラスが の任意の要素の子孫である要素一致し.Table .Popup tr:hoverます。trPopupTable

2 番目のセレクターは、現在ホバーされているクラスを持つ要素と、 のクラスを持つの任意の要素の子孫であるのクラスを持つ任意の要素の子孫で.Table .Popup .PopupRow:hoverある要素と一致します。PopupRowPopupTable

フィドルのマークアップはその構造を反映していないため、セレクターによって一致するものはありません (そのため、スタイルが反映されません)。

于 2013-07-04T15:50:59.673 に答える
0

使用している DOCTYPE によって異なります。XHTML には終了タグが必要ですが、HTML には必要ありません。動的に作成された要素に終了タグが必要かどうかは、DOCTYPE によってブラウザーが自動的に判断すると思います。

jsfiddle のパーサーにも問題があるようです。マークアップは W3C バリデーターで正しく検証されますが、終了タグがないと機能しません。

于 2013-07-04T15:40:39.897 に答える