jquery - .click 函数后获取值 jQuery 具有动态内容的 jQuery

标签 jquery html

我有下一个代码

HTML

<section class="listjobs" style="display: block;">
<div class="jobgroup GigaLab">GigaLab</div>
<div class="jobgroup CraftedContours">CraftedContours</div>
<div class="jobgroup FunPuntos">FunPuntos</div>
<div class="jobgroup Lexplique,LLC">Lexplique,LLC</div>
<div class="jobgroup Arriendas.cl">Arriendas.cl</div>
<div class="jobgroup Scholaroo.com">Scholaroo.com</div>
<div class="jobgroup OctaneNation">OctaneNation</div>
<div class="jobgroup Loogares.com">Loogares.com</div>
<div class="jobgroup AgentPiggy">AgentPiggy</div>
<div class="jobgroup AgentPiggy">AgentPiggy</div>
</section>

这是我的 jQuery。

        (function($){

    $('#searchjob').keypress(function(e){
        var search = $.trim($(this).val());

        if (e.which == "13") {

            $.ajax({
                beforeSend: function(){
                    //$('#loading').html(<img src="rutagif" alt="loading" />);
                },
                url:"../wp-admin/admin-ajax.php",
                data:{ action: 'searching_job',data : search },
                //dataType: "json",
                type: "POST",
                success: function(data){
                    var jsonresult = JSON.parse(data);
                    var jobs = $('.listjobs');
                    var startups = [];

                    $.each(jsonresult, function(i, item){
                        startups.push(jsonresult[i].meta_value);
                    });

                    startups = $.unique(startups);

                    //console.log(startups);

                    jobs.hide().empty();

                    $.each(startups, function(i, item){
                        var startup = startups[i].replace(" ","");
                        jobs.append("<div id='"+startup+"'class='jobgroup'><h2>"+startups[i]+"</h2><p></p></div>").slideDown();
                    });

                }

            });

            e.preventDefault();

        };

    });

找不到此代码

    $(this).click(function(e){
        console.log($(this).text());
    });

还尝试使用 $('.lisjobs'),这会显示警报但未获取数据,也尝试使用 $('section.listjobs .jobgroup')、$('.jobgroup') 但未找到。还有其他想法吗?

 })(jQuery);

但未找到:/。如何通过“jobgroup”类获取div的值?任何例子。

最佳答案

如果您想获取单击的jobgroup的值,您会这样做

$('section.listjobs .jobgroup').click(function(e){
    var name = $(this).text();
    /* Do something with "name" here */
});

但这只是用文本设置了一个变量,并没有对其执行任何操作。

编辑:看起来您是通过 AJAX 加载此内容的,在这种情况下您无法在运行时绑定(bind)它们,但需要使用 on() 动态绑定(bind)它们。此代码假设 section.listjobs 不是通过 AJAX 加载的。

$('section.listjobs').on('click', '.jobgroup', function(e){
    var name = $(this).text();
    /* Do something with "name" here */
});

DEMO

您也可以使用第一种方法绑定(bind)它们,但是您需要在将元素添加到 DOM 后(即在 ajax success 函数末尾)运行该脚本。我仍然会选择 on()

关于jquery - .click 函数后获取值 jQuery 具有动态内容的 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13006237/

相关文章:

jquery - 如何在html中移动对象?

javascript - 在触发下一个功能之前等待 iframe 加载?

html - 无法将内联样式移出样式表?

javascript - 使用复选框提交表单

html - 为什么我不能让按钮的高度等于它们的宽度?

javascript - 简化 jQuery 以检测输入值的变化

javascript - JSONP 回调返回错误

javascript - javascript 中的日期未定义

javascript - 如何检查正确答案 JavaScript(4 个按钮)

javascript - 在 ng-repeat 中隐藏元素