gpt4 book ai didi

javascript - 需要 jquery 方面的帮助

转载 作者:行者123 更新时间:2023-12-02 19:21:13 26 4
gpt4 key购买 nike

我有以下代码:

<div id="comments" class="clearfix">
<div class="conversation box_round_s box_shadow clearfix mtm">
<div class="conversation box_round_s box_shadow clearfix mtm">
<input class="conv_tracker" type="hidden" value="4695f1db2d">
<div class="conv-header">2</div>
<div class="comment pts plm prs pbs">
<div class="comment plxl pts plm prs pbs">
<div class="replybox pvs clearfix">
<textarea class="comment_txt_r fses fft"></textarea>
</div>
</div>
<div class="conversation box_round_s box_shadow clearfix mtm">
<div class="conversation box_round_s box_shadow clearfix mtm">
</div>

我正在尝试使用类 conv_tracker 读取输入的值(代码中的第 4 行,值为“4695f1db2d”)。我想读取这个值。当有人在文本区域按 Enter 时我正在阅读它。页面上有多个文本区域。我正在使用以下 jquery:

代码确实进入了 if 内部,但显示未定义。

$(".comment_txt_r").keydown(function(e){
var code = (e.keyCode ? e.keyCode : e.which);
if(code == 13) {
var ctext = $(this).val();
var relid = $(this).closest('.conversation').children('input.conv_tracker').val();
alert(relid);
}
});

有人可以告诉我我做错了什么吗?

最佳答案

使用$('#conv_tracker').val()。 ID在页面内必须是唯一的,因此没有理由通过closestchildren上下遍历DOM,然后通过ID进行选择。只需按 ID 选择即可。

如果您当前的代码不起作用,则该 ID 在页面中很可能是唯一的,并且它会被从具有重复 ID 的后续元素中剥离,从而阻止您的代码选择该元素。如果是这种情况,您需要对重复元素使用类或其他属性。

<小时/>

作为一个不相关的建议,尝试使用 data 属性并将值直接附加到要将事件绑定(bind)到的元素,而不是将随机的、未耦合的、语义上无意义的元素转储到 DOM 中。

您的文本区域获得一个 data-conv-tracker 属性:

<textarea class="comment_txt_r fses fft" data-conv-tracker="4695f1db2d" />

并且您的代码被大大简化,无需额外的选择/DOM 遍历:

if(code == 13) {      
var ctext = $(this).val();
var relid = $(this).data('conv-tracker');
alert(relid);
}

关于javascript - 需要 jquery 方面的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12513752/

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