首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Replacewith() Jquery

Replacewith() Jquery
EN

Stack Overflow用户
提问于 2014-01-19 17:02:49
回答 1查看 98关注 0票数 0

函数replaceWith()有问题。

我创造了一个日历。当我选择一天,我有交叉出现的数字(以添加一个事件)。

如果我单击另一天,将再次显示选定的第一天的编号,并将十字架显示在我的第二选择上。

然而,如果我试图再次点击第一选择,什么都不会发生(没有交叉)。

这里有一个测试链接,它会更清晰:http://www.fatal-destiny.com/calendrier/

代码语言:javascript
复制
$(document).ready(function() {
$('#calendrier td a').click(function(){

    var nbReplace = $("span[class='replace']").length;
    if(nbReplace > 0)
    {
        var nbEvenements = $("span[data-evenement='1']").length;
        var jour = $("span[class='replace']").attr('data-valeur');
        var dateComplete = $("span[class='replace']").attr('data-date');
        if(nbEvenements > 0)
            $("span[class='replace']").replaceWith('<a href="#" class="'+dateComplete+'" style="display: inline-block;width: 200px; height: 120px; line-height: 120px; color: #ce2d2d;">'+jour+'</a>');
        else
            $("span[class='replace']").replaceWith('<a href="#" class="'+dateComplete+'" style="display: inline-block;width: 200px; height: 120px; line-height: 120px;">'+jour+'</a>');
    }

    var elemH2 = $(this);
    var elem = $(this).attr('class');
    var res = elem.split("-"); 
    $.get( "charger_nb.php", { date: elem }, function( data ) {
        if(data == 0)
            elemH2.replaceWith('<span class="replace" data-valeur="'+res[0]+'" data-date="'+elem+'"><a href="#" onClick="ajouterEvenement(\''+elem+'\'); return false;"><img src="images/ajouter.png" alt="Ajouter" title="Ajouter un événement" class="opacite" /></a></span>');
        else
            elemH2.replaceWith('<span class="replace" data-valeur="'+res[0]+'" data-date="'+elem+'" data-evenement="1"><a href="#" onClick="ajouterEvenement(\''+elem+'\'); return false;"><img src="images/ajouter.png" alt="Ajouter" title="Ajouter un événement" class="opacite" /></a> <a href="#" onClick="voirEvenement(\''+elem+'\'); return false;"><img src="images/voir.png" alt="Voir" title="Voir les événements" class="opacite" /></a></span>');
    });
});
});

一个主意?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-19 17:05:58

事件处理程序中目标的整个锚元素被替换为span,然后再次将其放回,但现在锚点是动态插入的,您需要委托事件

替换

代码语言:javascript
复制
$('#calendrier td a').click(function(){ 

使用

代码语言:javascript
复制
$('#calendrier').on('click', 'td a', function(){
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21219795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档