javascript - 如何选择具有特定类 jQuery 的特定 div?
问题描述
我有一个圆圈,当我点击它时,出现了 2 个选项。
<div class="col-sm-2" style="display: block;">
<span class="fa fa-mobile circle-icon fa-5x client" style="background-color: rgb(75, 183, 232);">
</span>
<div class="line" style="display: none;"></div>
<div class="options" style="display: block;">
<input type="text" class="search" name="">
<i class="fa fa-plus float-right"></i>
<p class="option" id="Dualstack-Pvt">
Dualstack-Pvt
<i class="fa fa-info-circle float-right"></i>
</p>
<p class="option" id="Dualstack-Pvt-2">
Dualstack-Pvt-2
<i class="fa fa-info-circle float-right"></i>
</p>
</div>
<div class="selected" style="display: none;"></div>
</div>
当单击其中一个选项时,我想做一些事情。
我似乎无法选择它。
这就是我现在所拥有的。
$('.' + selector).on("click", function() {
if (steps.indexOf(selector) != -1) {
nextStep = steps[steps.indexOf(selector) + 1];
}
let self = $(this);
$('div.options').fadeOut('fast');
self.animate({
backgroundColor: fadeColor
}, 1400);
self.next().next('.options').slideDown(1000);
console.log(self)
self.find('.options').find('option').one("click", function(event) {
console.log('%c -------->> HERE <<--------', "color: green;");
});
});
这是我的选择
self.find('.options').find('option').one("click", function(event) {
我认为 find() 会找到匹配的类......不是吗?
请帮助我理解为什么这不起作用......
解决方案
在您的查询中:
self.find('.options').find('option')
该部分self.find('.options')
将查找属于 的option
子类的元素self
。在这种情况下,因为self
是<span>
没有孩子的,所以选择器将不起作用。请注意,当您使用self.next().next('.options')
. 接下来该.find('option')
部分将查找标记<option>
而不是类option
,因此将其更改为.option
. 通过这些修复,您将拥有:
self.siblings('.options').find('.option').one("click", function(event) {
console.log('%c -------->> HERE <<--------', "color: green;");
});
片段示例
$('.fa-mobile').on("click", function() {
let self = $(this);
$('div.options').fadeOut('fast');
self.next().next('.options').slideDown(1000);
self.siblings('.options').find('.option').one("click", function(event) {
console.log('%c -------->> HERE <<--------', "color: green;");
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-sm-2" style="display: block;">
<span class="fa fa-mobile circle-icon fa-5x client" style="background-color: rgb(75, 183, 232);">Circle
</span>
<div class="line" style="display: none;"></div>
<div class="options" style="display: block;">
<input type="text" class="search" name="">
<i class="fa fa-plus float-right"></i>
<p class="option" id="Dualstack-Pvt">
Dualstack-Pvt
<i class="fa fa-info-circle float-right"></i>
</p>
<p class="option" id="Dualstack-Pvt-2">
Dualstack-Pvt-2
<i class="fa fa-info-circle float-right"></i>
</p>
</div>
<div class="selected" style="display: none;"></div>
</div>
推荐阅读
- python - 在 Python 中删除一维列表中的重复项 - 仅适用于某些项目
- email - 电源 BI。SMTP 地址没有与之关联的邮箱,Microsoft Exchange
- javascript - 有没有办法为调用 html 元素并对其执行某些操作的 javascript 函数编写单元测试?
- bash - 将值分配给包含变量的变量的 shell 脚本
- r - 如何执行引导程序以找到 R 中 k-nn 模型的置信区间?
- javascript - 在 node.js 应用程序中应该在哪里写 res.send()
- javascript - 如何等待按钮可点击
- python - 是否可以使用散景在 OSM 平铺图中显示比例?
- java - 无法识别并单击日期字段中的“下一步”按钮
- gnuplot - 在 gnuplot 上重绘 Excel 图形