Javascript 访问<;span>;a中的文本<;部门>;

Javascript 访问<;span>;a中的文本<;部门>;,javascript,jquery,html,Javascript,Jquery,Html,我的第一篇文章,所以对我放轻松 我对编程非常陌生,我正在制作一个基于浏览器的应用程序,它将跟踪到达的航班(我是一名白天的飞机技工),并使用.effect(“highlight”)在到达时间临近时使元素闪烁。这将显示在我们准备室的大显示器上 并非所有代码都处于最后阶段。其中一些设置仍然只是为了测试函数是否工作,如下面的pulseRed和pulseYellow函数。我只在chrome中测试过这个,现在只打算在chrome中运行,所以不能保证它在其他浏览器中正常工作 这是我的问题 创建的每个新计时器都

我的第一篇文章,所以对我放轻松

我对编程非常陌生,我正在制作一个基于浏览器的应用程序,它将跟踪到达的航班(我是一名白天的飞机技工),并使用.effect(“highlight”)在到达时间临近时使元素闪烁。这将显示在我们准备室的大显示器上

并非所有代码都处于最后阶段。其中一些设置仍然只是为了测试函数是否工作,如下面的pulseRed和pulseYellow函数。我只在chrome中测试过这个,现在只打算在chrome中运行,所以不能保证它在其他浏览器中正常工作

这是我的问题

创建的每个新计时器都是一个具有唯一ID的新div。每个div包含多个span元素,用于在监视器上显示信息和存储数据

如果运行此代码,标记为#问题区域#的块应该提醒arrivalHour的值,它确实如此!成功!。。。问题是,在第一个计时器之后,每次函数启动时,它都会将所有arrivalHour值阻塞到一个窗口中。因此,如果3个计时器的值分别为05、08和12,它将显示050812,并且会显示3次,因为循环中每个计时器都会弹出一次窗口。我要做的是让每个窗口显示div中一个span元素的信息。我假设我需要索引我所在的循环的哪个元素,但是对于[z]索引应该放在哪里(如果这里的修复方法是这样的话),我感到相当困惑。一旦我可以从这些跨度中提取单个值,我就可以设置其余的循环和语句来处理数据,我基本上完成了

唷!很长的解释,但我想确保我的问题有意义

$(document).ready(function() {
    var i = 01; //variable for iterating ID's for each timer below
    $("#startButton").fadeTo("fast",0.5);
    $("#startButton").mouseenter(function() {
        $("#startButton").fadeTo("slow",1);
    });
    $("#startButton").mouseleave(function() {
        $("#startButton").fadeTo("slow",0.5);
    });
    // pulse function causes the called object to blink red 3 times.
    var pulseRed = function() {
        $(".timers").effect("highlight", {color: 'red'}).fadeIn();
        $(".timers").effect("highlight", {color: 'red'}).fadeIn();
        $(".timers").effect("highlight", {color: 'red'}).fadeIn();
    }
    // pulse function to blink the target div yellow - currently pulses ALL div's for testing
    var pulseYellow = function() {
        $(".timers").effect("highlight").fadeIn();
        $(".timers").effect("highlight").fadeIn();
        $(".timers").effect("highlight").fadeIn();
    }
        setInterval(function(){ //set up just for testing purposes
        pulseYellow();
        pulseRed();
            for (var z = 1; z <= ($(".timers").length); z++) {
                alert($('div.timers span.arrivalHour').text()); //<---PROBLEM AREA!!!!!
            }
    },5000);    

//time data formatting for proper display
    var d = new Date();
    var currentHours = function() {
        var hourCheck = d.getHours();
            if (hourCheck <= 9) {
                return("0" + hourCheck);
        }
            else {
                return(hourCheck);
        }
    };
    var currentMinutes = function() {
        var minCheck = d.getMinutes();
            if (minCheck <= 9) {
                return("0" + minCheck);
        }
            else {
                return(minCheck);
        }
    };
//button to create the new timer and related functions. 
    $("#startButton").click(function() {
        var tailNumber = $("#tail").val();
        var borderColor = $("#colorPicker").val();
        var alertTime = $("#alert").val();
        var arrHour = $("#hour").val();
        var arrMinute = $("#minute").val();
        var remarks = $("#discrepancy").val();
    // example of similar code at  http://jsfiddle.net/nick_craver/TTHDQ/
    //creates a new div containing all of the user input data, iterates a new ID so that div's can be blinked individually
        $("<div />", { "class":"timers", id:"timer"+i})
            .append("<span class='tailNumber'>"+tailNumber +'  '+"</span><span class='arrivalHour'>"+arrHour+"</span><span>-</span><span class='arrivalMinute'>"+arrMinute+"</span><span class='table'>"+' ' +"</span><span class='remarks' style='margin: 0 auto; text-align: right'>"+remarks+"</span><div class='delete'>DELETE</div></div>")
            .appendTo("#main");
            $("#timer" + i).css('border', '2px solid ' +borderColor);   
        i++;

        //delete timer DIV's when no longer needed
        $(".delete").click(function() {
            $(this).closest(".timers").remove();            
        });
        $('#getTail').get(0).reset();
    }); 
});
$(文档).ready(函数(){
var i=01;//用于迭代下面每个计时器的ID的变量
美元("开始按钮),法德托("快速",0.5),;
$(“#开始按钮”).mouseenter(函数(){
$(“开始按钮”).fadeTo(“慢速”,1);
});
$(“#开始按钮”).mouseleave(函数(){
美元("开始按钮),法德托("缓慢",0.5),;
});
//脉冲功能使被调用对象闪烁红色3次。
var pulseRed=函数(){
$(“.timers”).effect(“高亮显示”,{color:'red'}).fadeIn();
$(“.timers”).effect(“高亮显示”,{color:'red'}).fadeIn();
$(“.timers”).effect(“高亮显示”,{color:'red'}).fadeIn();
}
//脉冲功能使目标div闪烁为黄色-当前对所有div进行脉冲测试
var pulseYellow=函数(){
$(“.timers”).effect(“highlight”).fadeIn();
$(“.timers”).effect(“highlight”).fadeIn();
$(“.timers”).effect(“highlight”).fadeIn();
}
setInterval(函数(){//仅为测试目的而设置
pulseYellow();
脉冲();

对于(var z=1;z,如果我理解正确,您希望每个计时器都有一个单独的警报(由
$('.timers')
指定)。如果是这种情况,您希望将
for
语句切换为如下所示:

$("div.timers").each(function() {
    alert($(this).find('span.arrivalHour').text());
});

将所有文本合并的原因是
$('div.timers span.arrivalHour'))
作为一个全局选择,这意味着它将检索页面中所有匹配的元素。我建议的代码在每个计时器中迭代,检索每个计时器的到达时间。

将HTML的相关部分发布到堆栈溢出!您可能希望将发布的内容提取到更多内容中全神贯注。想象你正在给同事写一封电子邮件。我们很难阅读一段又一段的内容,弄清楚你想要什么。用几句话介绍背景,解释你需要什么,然后明确地陈述你的问题。这样,我们就更容易帮助你了。
$("div.timers").each(function() {
    alert($(this).find('span.arrivalHour').text());
});