jquery - 语法紧急只有一行| jQuery
问题描述
编辑以提供更多代码:
jQuery(function($){
$(document).on('change', 'select[name="location"]', function(){
if ($(this).val() !== '') {
$(".ea-standard form div.step").show(); //show all
$(".ea-standard form div.step").not(':eq(1)').hide(); //then hide some
$("#location-icon-jquery i").removeClass( "current-icon-yellow" ).addClass("active-icon-green");
$("#hospital-icon-jquery i").addClass("current-icon-yellow");
} } ) } );
jQuery(function($){
$(document).on('change', 'select[name="service"]', function(){
if ($(this).val() !== '') {
$(".ea-standard form div.step").show(); //show all
$(".ea-standard form div.step").not(':eq(2)').hide(); //then hide some
$("#hospital-icon-jquery i").removeClass( "current-icon-yellow" ).addClass("active-icon-green");
$("#doctor-icon-jquery i").addClass("current-icon-yellow");
} } ) } );
jQuery(function($){
$( '<div class="container"><div class="row icon-appointment"> <span class="col-md-2" id="location-icon-jquery"> <i class="fas fa-map-marker-alt current-icon-yellow"></i> </span> <span class="col-md-2" id="hospital-icon-jquery"> <i class="fas fa-hospital cc_cursor" ></i> </span> <span class="col-md-2"> <i class="fas fa-user-md" id="doctor-icon-jquery"></i> </span> <span class="col-md-2"> <i class="far fa-calendar-alt"></i> </span> <span class="col-md-4"> <i class="far fa-calendar-check"></i> </span></div></div>' ).insertBefore( ".ea-standard" );
} );
说得更清楚:
'<div class="container">
<div class="row icon-appointment">
<span class="col-md-2" id="location-icon-jquery">
<i class="fas fa-map-marker-alt current-icon-yellow">
</i>
</span>
<span class="col-md-2" id="hospital-icon-jquery">
<i class="fas fa-hospital cc_cursor" >
</i>
</span>
<span class="col-md-2">
<i class="fas fa-user-md" id="doctor-icon-jquery">
</i>
</span>
<span class="col-md-2">
<i class="far fa-calendar-alt">
</i>
</span>
<span class="col-md-4">
<i class="far fa-calendar-check">
</i>
</span>
</div>
</div>
编辑评论:
jQuery(function($){
var spans = $('.icon-appointment span');
spans.on("click", function () {
var currentSpan = $(this);
var prevIndex = currentSpan.index() - 1;
var prevSpan = spans.eq(prevIndex);
console.log(prevSpan.hasClass('active-icon-green'));
if (prevSpan.hasClass('active-icon-green') !== true) {
alert("you must fill previous step");
}
});
} );
编辑:
jQuery(function($){
$('.icon-appointment span').click(function() {
var self = $(this),
index = self.index()-1
if (($(this):eq(index)).hasClass('active-icon-green')) {
do something
我很抱歉这个不常见的问题标题,但我的问题正是这个。
if ($(this):eq(index).hasClass('active-icon-green')) {
我有上面的 jquery 代码行。指数指:
$('.icon-appointment span').click(function() {
var self = $(this),
index = self.index()-1
所以我想检查点击span
之前的一个是否有。 span under icon-appointment class
active-icon-green class
我的 js 代码编辑器说:
那么真正的语法是什么?谢谢
解决方案
您的代码中有语法错误。您正在使用“CSS Selector”语法而不是方法。另一个问题是您期望 $(this) 是所有跨度,而它只是您单击的跨度。
var spans = $('.icon-appointment span');
spans.on("click", function () {
var currentSpan = $(this);
var prevIndex = currentSpan.index() - 1;
var prevSpan = spans.eq(prevIndex);
console.log(prevSpan.hasClass('active-icon-green'));
});
现在,如果它们是 HTML 中的兄弟姐妹,您可以使用 prev()
var spans = $('.icon-appointment span');
spans.on("click", function () {
var currentSpan = $(this);
var prevSpan = currentSpan.prev();
console.log(prevSpan.hasClass('active-icon-green'));
});
在第四次编辑之后......
这门课<i>
不在跨度上。所以你需要看看<i>
var prevSpan = spans.eq(prevIndex);
var prevIcon = prevSpan.next("i");
console.log(prevIcon.hasClass('active-icon-green'));
推荐阅读
- c - 有人可以帮助如何在函数中返回每个数组,然后在主函数中调用它吗?[C]
- python - 如果满足条件,则在 pandas 数据框中进行数学运算
- java - 如何在没有字段、参数或返回类型的情况下跨方法发送数据?
- angular - 渴望加载一个离子吐司控制器
- javascript - 尝试使用 REST API 调用生成的 javascript 数组填充下拉框时出错
- r - 根据 R 中的列名创建一个新数据框,其中包含来自另一个数据框的列
- sql - 从逗号分隔的数据进行 SQL 更新
- powershell - 从 Confluence 页面获取限制
- javascript - 多人游戏编程、延迟和启动玩家与他人同步
- android - 如何从 apk 文件中获取不同语言的 strings.xml 文件(Android 8)