点击功能无法获取ID

时间:2015-05-06 03:41:39

标签: jquery

由于许多原因,我可能会出现问题,首先是场景。我正在为大约12年的新闻档案系统重建导航界面。所以,一些遗留问题。我使用的是php和jquery的组合 enter image description here 界面的屏幕截图
数据:
平面文件结构......
dir - 2015
文件:4-1-2015.dat + 30-1-2015.dat +等
dir - 2014年 文件: - +等
每个* .dat文件保存该日期时事通讯的html。

在界面上,每个月 - 日的ID都根据文件结构设置,共同的类=" linky"例如:id =" 4-1-2015" =日 - 月 - 年{.dat后来添加}

PHP构建一个文件阵列;剪断[var = listing]

[2015] => Array
[1] => Array ~january
    [0] => 4
    [1] => 30
[2] => Array ~ february
    [0] => 18
[3] => Array
    [0] => 9 etc.

再次,PHP构建第一个屏幕 警报(见下文)适用于此。

然后那个......

    $(document).ready(function() {  
var dataArray = <?php echo json_encode($listing); ?>;  // the full array  
var yearArray = <?php echo json_encode($yearList); ?>; // just years  
var newDate = parseInt($("#navYear").text(), 10)-1;    

$.each(dataArray[$("#navYear").text()], function(index, days) { // index=Month value=Day  
dataArray[$("#navYear").text()][index].sort(function(a, b){return a-b}); // numerical order  
    dayings = days.toString().split(','); // monthLinks = [1] 4,19 [2] 4,18,26 [3] 20  
    for ( var d = 0; d <dayings.length; ++d ) {  
monListing = monListing+'<span class="linky" id="'+dayings[d]+'-'+index+'-'+newDate+'">'+monArray[index-1]+' '+dayings[d]+'</span>';  
    }  
    }); // end each...  
$(".linky").click(function() {  
    dataLink = $(this).attr("id");  
    // dataLink = this.id;  
    alert(dataLink);  
    });  
}); // end doc ready  

正如我所提到的,PHP构建会产生警报。 js没有。

enter image description here

FF检查员清楚地显示id已设置为预期的类。但没有警报。

我尝试将所有monListing值预先设置为整数和字符串。例如,
var eachDay = parseInt(dayings [d],10);或:
var eachDay = dayings [d] .toString();

我尝试更改&#39; - &#39;到&#39; _&#39;
将ID设置为&#39; asd&#39;
多种排列......我能想到的可能是错误的。

解决方案让我不知道!!
你这里有什么明显的东西吗? 即使是最不起眼的建议也会受到欢迎。谢谢。

2 个答案:

答案 0 :(得分:2)

似乎llike .linky是您使用代码创建的动态元素,因此您需要使用.on启用click事件:

 $("body").on('click', '.linky', function() {  

答案 1 :(得分:0)

而不是$(this).attr("id")尝试$(this).id