我有下一个代码
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的值?任何例子。
答案 0 :(得分:3)
如果您想获得所点击jobgroup
的价值
$('section.listjobs .jobgroup').click(function(e){
var name = $(this).text();
/* Do something with "name" here */
});
但是这只是用文本设置一个变量,它对它没有任何作用。
编辑:看起来您通过AJAX加载此内容,在这种情况下,您无法在运行时绑定它们,但需要使用on()
动态绑定它们。此代码假设section.listjobs
未通过AJAX加载。
$('section.listjobs').on('click', '.jobgroup', function(e){
var name = $(this).text();
/* Do something with "name" here */
});
您也可以使用第一种方法绑定它们,但是在元素添加到DOM之后,即在ajax success
函数的末尾,您需要运行该脚本。我仍然会使用on()
。
答案 1 :(得分:0)
该功能似乎有效。您正在将全文转储到变量“name”中 - 您可能希望将其输出到某处以便可以看到结果(可能使用 console.log())。
您可能还想更改单击的字段 - 目前您已将其设置为“listjobs”部分 - 如果要输出,则可以将其链接到特定的作业组。
示例代码:
$('section.listjobs .jobgroup').click(function(e){
console.log($(this).text());
});
答案 2 :(得分:0)
您使用的是错误的上下文。 this
是事件,而不是div
。您需要按this.id
选择,var name = $('#' + this.id).text();
是触发事件的控件的ID。
所以,你可以这样做:
{{1}}
答案 3 :(得分:0)
尝试
$('.jobgroup').click(function(){
var tmpHtml = $(this).html();
alert(tmpHtml);
});