gpt4 book ai didi

javascript - jquery按键添加类

转载 作者:行者123 更新时间:2023-12-01 01:22:20 25 4
gpt4 key购买 nike

我正在尝试学习jquery keypress来添加类系统。

我尝试了以下代码,但没有成功。我在这里尝试过用ID。当启动#ttt1时,#rb1背景颜色应该改变,但什么也没有发生。

我做错了什么或者我需要在这里做什么?谁能告诉我?

此 ID DEMO 来自 codemep.io

$(document).ready(function() {
var ID = $(this).attr("id");
$("#ttt" + ID).on('keypress', function() {
if ($(this).val().length > 20) {
$("#rb" + ID).addClass("ad");
} else {
$("#rb" + ID).removeClass("ad");
}

});
});

HTML

<div class="container">
<div class="tWrp">
<textarea class="test" id="ttt1" placeholder="Write"></textarea>
</div>
<div class="br" id="rb1">Button</div>
</div>

<div class="container">
<div class="tWrp">
<textarea class="test" id="ttt2" placeholder="Write"></textarea>
</div>
<div class="br" id="rb2">Button</div>
</div>

最佳答案

您正在函数内定义变量ID,该函数发生在$(document).ready()上。在该函数内,值 this 将指向 document。您需要做的是在 keypress 事件处理函数内定义变量。

使用类进行选择,然后在处理函数内使用$(this).attr("id")。您还可以使用 $(this).closest('div').next() 获取父级中的下一个元素。

演示

$(document).ready(function() {
//here value for this is the document object and the id is not useful.
$(".test").on('keyup', function() {
//but here value for this is textarea where keypress event happened.
var ID = this.id;
if (this.value.length > 20) {
$(this).closest('div').next().addClass("ad");
} else {
$(this).closest('div').next().removeClass("ad");
}
});
});
.container {
margin:0px auto;
width:100%;
max-width:500px;
position:relative;
margin-top:100px;
}

.test {
outline:none;
border:1px solid red;
width:100%;
min-height:100px;
}
.br {
background-color:blue;
width:100px;
height:40px;
}
.ad {
background-color:red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="container">
<div class="tWrp">
<textarea class="test" id="ttt1" placeholder="Write"></textarea></div>
<div class="br" id="rb1">Button</div>
</div>

<div class="container">
<div class="tWrp">
<textarea class="test" id="ttt2" placeholder="Write"></textarea></div>
<div class="br" id="rb2">Button</div>
</div>

关于javascript - jquery按键添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35767608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com