Javascript JQuery无法访问下一个目标元素
我不知道为什么,但是如果在上面的提琴中,如果您在输入中键入任何字符,然后按向下键,控制台将生成两个日志。第一个值为Javascript JQuery无法访问下一个目标元素,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我不知道为什么,但是如果在上面的提琴中,如果您在输入中键入任何字符,然后按向下键,控制台将生成两个日志。第一个值为3(正确),第二个值为0(不正确) 我正试图根据特定的输入以元素为目标: // this works... console.log($('.autocomplete li').length); // this does not work console.log($(this).next('.autocomplete li').length); 如果我只记录$(this),它将按预期
3
(正确),第二个值为0
(不正确)
我正试图根据特定的输入以元素为目标:
// this works...
console.log($('.autocomplete li').length);
// this does not work
console.log($(this).next('.autocomplete li').length);
如果我只记录$(this)
,它将按预期返回输入。我还尝试了.nextAll
,.find
和各种组合
为什么它找不到目标的。下一个元素?这很好:
console.log($(this).next('.autocomplete').find('li').length);
您需要针对下一个.autocomplete
,并找到li
这很好:
console.log($(this).next('.autocomplete').find('li').length);
您需要以下一个.autocomplete
为目标,找到li
这是下一个.autocomplete
,而不是li
。因此,过滤器将无法工作
相反,您需要使用$(this).next('.autocomplete').find('li')
但是,您是否考虑过JS免费解决方案
美国
欧洲
日本
是.autocomplete
下一个到这个,而不是li
。因此,过滤器将无法工作
相反,您需要使用$(this).next('.autocomplete').find('li')
但是,您是否考虑过JS免费解决方案
美国
欧洲
日本
谢谢您的建议。我知道这与这个问题无关,但是当从AJAX请求动态填充datalist
时,有没有一个技巧可以让它工作呢?谢谢你的建议。我知道这与这个问题无关,但是当从AJAX请求动态填充数据列表时,有没有一个技巧可以让它工作呢?