1

私はこのようなコードを持っています

<input type='checkbox' class='rating'  id="sample"    onclick='checkboxcheck(parameters)'  />
                    <label for="sample"></label>

そしてCSS:

.rating {
    display:none;
}
input[type="checkbox"] + label {
    width: 15px;
    height: 15px;
    display: inline-block;
    background-image:url('../images/white_small.png') ;
}

input[type="checkbox"] + label:hover {
    width: 15px;
    height: 15px;
    display: inline-block;
    background-image:url('../images/golden_small.png') ;

}

input[type=checkbox]:checked + label {
    width: 15px;
    height: 15px;
    display: inline-block;
    background-image:url('../images/golden_small.png') ;
}

チェックボックスタグからクラス属性を削除すると、JS 関数が呼び出されました。クラス属性を削除せずに関数を呼び出したいだけです。SOから1つの解決策を得ました。これは、doctypeを次のように変更するだけです

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

克服する正しい方法を教えてください。

4

1 に答える 1

0

あなたのアプローチを修正することをお勧めしますか?

代わりにdisplay:none;、チェックボックスを div でラップし、それを使用してチェックボックスを表示または非表示にすることができます。私はあなたがそれを常に隠しておきたいと思うと思います。

HTML:

<div class="hideRating">
     <input type="checkbox" class="rating" id="sample" onclick="checkboxcheck('parameters')" />
</div>
<label for="sample"></label>

追加の CSS:

.hideRating {
  width:0;
  height:0;
  overflow:hidden;
}
.showRating {
  width:auto;
  height:auto;
  overflow:visible;
}

display:none; を置き換えます。コードでの宣言

<div />要素のクラスを更新するための JS/jQuery 関数の例が必要な場合はお知らせください。

于 2013-06-21T15:32:33.160 に答える