css 标签长度为23+的jQuery选择器将无法找到元素

hsgswve4  于 12个月前  发布在  jQuery
关注(0)|答案(1)|浏览(92)

jQuery选择器似乎找不到我的一些元素。花了一些时间后,我意识到相同的代码将在元素的id名称中使用更少的字符。我得出结论,选择器接受的最大字符长度是22。
我在任何地方都没有找到关于这种限制的任何信息。

<div id="article-skills-analyst-icon"><p>hello first div</p></div>
<div id="article-skills-analyst"><p>hello second div</p></div>
<div id="article-skills-analysti"><p>hello third div</p></div>

字符串
这些不会工作:

$(`#article-skills-analyst-icon`).bind(`click`, function (e) {
    console.log('triggered');
});
$(`#article-skills-analysti`).bind(`click`, function (e) {
    console.log('triggered');
});


这将工作

$(`#article-skills-analyst`).bind(`click`, function (e) {
    console.log('triggered');
});


请注意,所有元素都可以在CSS中找到

#article-skills-analyst-icon, #article-skills-analysti, #article-skills-analyst {
    cursor: pointer;
}

avwztpqn

avwztpqn1#

它似乎在使用jQuery的代码片段中工作。您可能试图在元素存在之前绑定事件。您可以 Package 绑定以等待onload事件,将脚本移动到页面底部,或者延迟它。

$(`#article-skills-analyst-icon`).bind(`click`, function (e) {
    console.log('triggered');
});
$(`#article-skills-analysti`).bind(`click`, function (e) {
    console.log('triggered');
});
$(`#article-skills-analyst`).bind(`click`, function (e) {
    console.log('triggered');
});

个字符

相关问题