0

「foo」の値を持つ送信ボタンを非表示にしようとしていますが、それが存在するdivに「foo2」のクラスがある場合のみです。

次の jQuery は仕事の半分を行い、値に 'foo' が含まれている場合は送信ボタンを非表示にしますが、foo2 内にあるかどうかにかかわらず、全面的に機能します。

<script type="text/javascript">
$(document).ready(function () {
   $("input[value=foo]").closest('div').hide();
});
</script>

何か案は?

4

5 に答える 5

1

必要なのは、そのクラス名で div を呼び出すことだけでした

<script type="text/javascript">
$(document).ready(function () {
   $("input[value=foo]").closest('div.foo2').hide();
});
</script>
于 2012-08-05T23:00:34.537 に答える
0

div全体ではなくボタンのみを非表示にしたい場合:

<script type="text/javascript">
$(document).ready(function () {
   $("div.foo2 input[value=foo]").closest('div.foo2').find("input[value=foo]").hide();
});
</script>
于 2012-08-05T23:05:12.453 に答える
0

次のことを試してください。

$('div.foo2').has('input[value=foo]').hide()
于 2012-08-05T23:05:17.973 に答える
0

div の要件をclosestセレクターに追加するだけです。

$("input[value=foo]").closest('div.foo2').hide();
于 2012-08-05T23:00:24.140 に答える
0

.closest 演算子よりもセレクターを変更する方がおそらくクリーンです。実際に foo2 クラスを持つ別の div がある場合:

$(".foo2 input[value=foo]").closest('div').hide();
于 2012-08-05T23:01:40.910 に答える