-2

class=required の要素ごとに、onclick リンクで test() メソッドをアクティブにした後に addClass を無効にしたいのですが、機能しません。オブジェクトを参照するには?コードがあります:

<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
.required {background-color:red;}
.invalid {background-color:blue !important;}
</style>

<script>
function test(){
$('.required').each(function(i,obj) {
$(obj).addClass("invalid");
});
}
</script>

</head>
<body>
<form method="get">
<input type="text" class="required" name="var"/>
<input type="text" class="required" name="var2"/>
<input type="submit" value="Submit"/>
</form>

<a onclick="test()" href="#">Link</a>

</body>
<html>
4

7 に答える 7

9

これを行うことができます:

$('.required').addClass("invalid");

ここではそれぞれ必要ありませんloop

于 2013-07-23T13:57:01.530 に答える
3

ページに JQuery を含めていません。これをヘッダーに入れます:

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
于 2013-07-23T13:59:52.177 に答える
1

jQuery でクリック イベントをキャッチします。

$('a').on('click', function(e) {
  e.preventDefault();
  $('.required').addClass("invalid");
});
于 2013-07-23T13:59:43.610 に答える
1

これを試して:

function test() {
  $('.required').each(function() {
    $(this).addClass("invalid");
  });
}
于 2013-07-23T13:58:29.367 に答える
0

jQuery ライブラリを含めると、コードは正常に動作します。これはあなたの問題です。

ただし、コードにいくつかの改善をお勧めします。

jQuery を含めて、</body>タグの前にスクリプトを記述します。これはベスト プラクティスです。

jQuery を使用しているため、onclickメソッドは必要ありません。

ループ内でループしないように注意してください。

<a>タグがデフォルトの動作を実行することを許可していないことを確認してください。

<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
    .required {background-color:red;}
    .invalid {background-color:blue !important;}
</style>

</head>
<body>
    <form method="get">
        <input type="text" class="required" name="var"/>
        <input type="text" class="required" name="var2"/>
        <input type="submit" value="Submit"/>
    </form>
    <a id="btn" href="#">Link</a>

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script>
$(function() {

    $("#btn").click(function(e) { 
        e.preventDefault();     
        $('.required').addClass("invalid");
    });

});
</script>

</body>
<html>
于 2013-07-23T14:08:28.880 に答える