我想在每次单击每个div
并使用jQuery设置活动的样式时,将特定divs
元素的文本添加到文本区中:
下面是我的代码:
$('.msg-item-row').each(function() {
$(this).click(function(){
$(this).addClass('selected-msg');
var msgtextslot = $(this).text();
$('#message').val(msgtextslot);
//alert (msgtextslot);
});
});
.msg-item-row {
background:#f3f5f8;
color:#383838;
padding:10px;
margin-bottom:10px;
cursor:pointer;
transition: ease-in-out 0.2s;
font-size:0.8rem;
}
#message {
width:90%;
padding:10px;
}
.selected-msg {
background:red;
color:#fff;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<div class="list-msg-wrapper">
<div class="msg-item-row"> Hi, i have some questions about this product. </div>
<div class="msg-item-row"> What is the most favorited color in the world? </div>
<div class="msg-item-row"> Bla bla bla bla bla</div>
</div>
<textarea id="message" name="message" rows="3" placeholder="Enter your message..."></textarea>
代码运行得很好,当我单击每个div时,我可以通过添加类".selected-msg“来设置它的样式。我的问题是,我不知道如何从其他两个未选中的div中删除类
发布于 2021-05-31 23:59:45
您可以使用jQuery的removeClass
从所有按钮中删除类,然后将类添加到一个所需的按钮:
$('.msg-item-row').each(function() {
$(this).click(function(){
$('.msg-item-row').removeClass('selected-msg');
$(this).addClass('selected-msg');
var msgtextslot = $(this).text();
$('#message').val(msgtextslot);
});
});
.msg-item-row {
background:#f3f5f8;
color:#383838;
padding:10px;
margin-bottom:10px;
cursor:pointer;
transition: ease-in-out 0.2s;
font-size:0.8rem;
}
#message {
width:90%;
padding:10px;
}
.selected-msg {
background:red;
color:#fff;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<div class="list-msg-wrapper">
<div class="msg-item-row"> Hi, i have some questions about this product. </div>
<div class="msg-item-row"> What is the most favorited color in the world? </div>
<div class="msg-item-row"> Bla bla bla bla bla</div>
</div>
<textarea id="message" name="message" rows="3" placeholder="Enter your message..."></textarea>
https://stackoverflow.com/questions/67776979
复制相似问题