Javascript html在多个级别中获取div标记
我在div标签上获得了所需的类,我想删除它以更改文本字段的函数,但我无法达到该div级别,请帮助我达到该级别。parent.parent.closest'div' 试试这个Javascript html在多个级别中获取div标记,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我在div标签上获得了所需的类,我想删除它以更改文本字段的函数,但我无法达到该div级别,请帮助我达到该级别。parent.parent.closest'div' 试试这个 $("input[type=text]").closest('div.required').removeClass("required"); onchange函数 $("input[type='text']").change(function(){ $(this).closest("div.required").rem
$("input[type=text]").closest('div.required').removeClass("required");
onchange函数
$("input[type='text']").change(function(){
$(this).closest("div.required").removeClass("required");
});
或
您不必搞乱javascript和jquery。您可以像这样用jquery绑定变更事件
$(document).ready(function () {
$("input[type='text'] ").change(function () {
$(this).closest(".required").removeClass("required");
});
});
似乎您想要的是根据输入是否为空来添加/删除所需的类
$('.required').on('change', 'input', function(event) {
// add or remove required class
$(event.delegateTarget)
.toggleClass('required', this.value.length === 0);
});
它将与以下HTML一起使用:
<div class='required'>
<div>
<div>
<input type='text' value='123'/>
</div>
</div>
</div>
它在最外面的元素上设置事件委派,然后根据输入值设置或删除所需的类
为什么不容易使用id
<div id="input-wrapper" class='required'>
<div>
<div>
<input type='text' value='123' onchange="removeRequired(this, $('#input-wrapper'))"/>
</div>
</div>
</div>
<script type='text/javascript'>
function removeRequired(elm1, elm2){
if ($(elm1).val()) {
$(elm2).removeClass('required');
}
}
</script>
顺便说一句,如果你想与家长一起达到div class='required',你需要3个级别!尽管使用“最近”是一个更好的答案 您可以尝试:
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script>
</head>
<div class='required'>
<div>
<div>
<input type='text' value='123' onchange="removeRequired.call(this)"/>
</div>
</div>
</div>
<script type='text/javascript'>
function removeRequired(){
$(this).parent().parent().parent().removeClass('required');
}
</script>
您拥有的是无效的HTML。您的onchange属性是无效的HTML,因此无论如何都无法工作。onchange=removeRequired。。。
<div id="input-wrapper" class='required'>
<div>
<div>
<input type='text' value='123' onchange="removeRequired(this, $('#input-wrapper'))"/>
</div>
</div>
</div>
<script type='text/javascript'>
function removeRequired(elm1, elm2){
if ($(elm1).val()) {
$(elm2).removeClass('required');
}
}
</script>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script>
</head>
<div class='required'>
<div>
<div>
<input type='text' value='123' onchange="removeRequired.call(this)"/>
</div>
</div>
</div>
<script type='text/javascript'>
function removeRequired(){
$(this).parent().parent().parent().removeClass('required');
}
</script>