我试图获取用户单击“应用”的特定作业记录的.postingTitle值。为此,我试图使用jobTitle = $('.applyButton').parents().find('.postingTitle').val();来找到postingTitle

截至目前,我什么都没填。输出仅是我的全局变量jobTitle = '';。有人知道为什么我的find函数不起作用吗?

JS中注释掉的代码是我尝试过的其他方法。

JS

var jobTitle = '';
$('.applyButton').on('click', function (event) {
    //jobTitle = $('.applyButton').siblings().find('.postingTitle').val();
    jobTitle = $('.applyButton').parents().find('.postingTitle').val();
    //jobTitle = $(this).closest('.postingTitle').val();
    $('#jobTitle').html(jobTitle);
    console.log(jobTitle);
});


的PHP

foreach ($career_rows as $career_row) {
        $category = $career_row['category'];
        $job_title = $career_row['job_title'];
        $job_description = $career_row['job_description'];
        $job_requirements = $career_row['job_requirements'];
        $job_status = $career_row['active'];
            echo '<div class="posting">';
                echo '<div class="postingInner">';
                    echo '<span class="postingCategory hGc">'. $category .'</span>';
                    echo '<h3 class="postingTitle">'. $job_title .'</h3>';
                    echo '<p class="postingDescription dGsmall">'. $job_description .'</p>';
                    echo '<p class="dG bold jobRequirementsTitle">Requirements:</p>';
                    //echo '<ul class="jobRequirementList">'. $job_requirements .'</ul>';
                    echo '<ul class="jobRequirementList">'. join('</li><li class="dGsmall">',preg_split('/@@@/',$job_requirements)) .'</ul>';
                    echo '<div class="applyButtonWrap"><button class="buttonInv2 applyButton">Apply</button></div>';
                echo '</div>';
            echo '</div>';
    }

最佳答案

.val()仅适用于inputselecttextarea,甚至其他一些。如果要在另一个元素中获取文本,则可以使用.text(),并且由于.postingTitleh3,因此需要执行以下操作:

 jobTitle = $(this).closest('.postingInner').find('.postingTitle').text();

09-27 16:36