无法使用 JQuery [duplicate] 从子元素获取值

Can't get value from child element using JQuery [duplicate]

提问人:Nikolay Kholin 提问时间:11/8/2023 最后编辑:freedomn-mNikolay Kholin 更新时间:11/8/2023 访问量:24

问:

我试图通过引用其父元素 () 的 id 来获取第三个元素的值,但首先我指的是第一个 chid () 的类,但该值为空。<p>id="pickup-searchbox"class="searchbox-info"

这是我正在使用的页面的 html 代码和我的脚本。

<div class="searchbox-wrapper show-info" id="pickup-searchbox">
   <div class="searchbox-inner-wrapper">
   ......
   </div>
   <div class="searchbox-info" tabindex="-1">
      <p style="font-weight: 400; margin-bottom: 15px;" class="t-text">Пункт получения:</p><p class="t-text">На Станиславского</p>
      <p class="t-text">Адрес: ул. Станиславского, 115А/1</p>
      <p class="t-text" style="opacity: 0.6; line-height: 22px; font-size: .9rem;">По улице Станиславского, между пер. Крыловской и пер. Университетский</p>
      <p class="t-text">Время работы: Пн-Пт 09:00-20:00, Сб-Вс 10:00-19:00</p>
      <p class="t-text">Телефон: +78632631122</p><span style="border-bottom: 1px dashed #000; font-weight: 400; margin-top: 10px; display: inline-block; cursor: pointer;" class="t-text searchbox-change-pickup">Изменить</span>
   </div>
</div>

我的剧本:

<script>

$(document).ready(function(){

$('#allrecords').change(function() {

    var address = $('#pickup-searchbox').children('.searchbox-info').find('p:nth-child(3)').val(); 

    $('#input_1699283005593').val(address);
    
});
});

</script>

我尝试以这种方式访问元素并期望获取元素的值,但脚本无法获取它

javascript html jquery-selectors

评论

0赞 James Hibbard 11/8/2023
脚本的问题在于用于获取表单元素的值。由于您正在尝试获取元素的内容,因此应该改用元素。.val()<p>.text()
0赞 freedomn-m 11/8/2023
.children只在直接子项中查看,而不是“所有子项” - 更改为 or 只是并且不使用 .children/.find$('#pickup-searchbox').find('.searchbox-info').find('p:nth-child(3)')$("#pickup-searchbox p:nth-child(3)")
0赞 freedomn-m 11/8/2023
如上所述,确保你分解了这个问题 - 如果你的选择器是错误的,那么改变是没有意义的(相反,修复选择器并继续使用是没有意义的)。您需要按顺序确定每个问题 - 首先,通过检查它是否确实选择了某些东西来确保您的选择器正在工作 - 即 - 如果您的选择器是错误的,那么 .length 将 === 0 - 所以首先修复它。.val().val().text().val()var element = $("#id").find("p:nth-child(3)"); console.log(element.length)
0赞 Sudipto Bhattacharya 11/8/2023
只需使用 html() 或 text() 代替 val()

答: 暂无答案