gpt4 book ai didi

jquery prev() 不起作用

转载 作者:行者123 更新时间:2023-12-01 08:22:55 28 4
gpt4 key购买 nike

我有这个 html 代码:

<body>
<div class="CodeRay">
<div class="code"><pre><span class="no"> 1</span> require <span class="s"><span class="dl">'</span><span class="k">yaml</span><span class="dl">'</span></span>
<span class="no"> 2</span> require <span class="s"><span class="dl">'</span><span class="k">set</span><span class="dl">'</span></span>
<span class="no"> 3</span>
<span class="no"> 4</span> <span class="r">module</span> <span class="cl">ActiveRecord</span> <span class="c">#:nodoc:</span>
<span class="no"> 5</span> <span class="c"># Generic Active Record exception class.</span>
<span class="no"> 6</span> <span class="r">class</span> <span class="cl">ActiveRecordError</span> &lt; <span class="co">StandardError</span>
<span class="no"> 7</span> <span class="r">end</span>
<span class="no"> 8</span>
...
</body>

对于这个 html 代码,我有 javascript:

$(document).ready(function() {
$('span').not('.no,.c,.r,.pc').click(function(e) {
var target = $(e.target);
var element = target.prev('.no');
element.effect('highlight', {}, 'slow');
});

问题是 prev() 返回与之前相同的对象,找不到 .no 元素。它不会搜索 DOM 树中元素的前辈。谢谢

最佳答案

好吧,你的选择器 $('span').not('.no,.c,.r,.pc') 排除了所有 .no 所以它毫不奇怪您什么也没看到。

你可以尝试:

$(document).ready(function() {
$('span').click(function(e) {
var $this = $(this);
if (!$this.is(".no,.c,.r,.pc"){
$this.prev('.no').effect('highlight', {}, 'slow');
}
});

关于jquery prev() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6154074/

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