这是帖子请求中的代码块。 JSON回复存储在'数据'
中var a=data.Data.overview;
var b=data.Data.extras;
//summary
var result='';
result+='<div class="extra-upper-block">';
result+='<h5 class="extra-head"><i class="'+b[0].icon+' extra-head-icons"></i> '+b[0].category+'<i class="fa fa-pencil edit-prof"></i></h5>';
result+='<div class="extra-sub-block">';
if(b[0][0].summary!=null)
result+='<p id="profile-summary" class="extra-sub-block-summary">'+b[0][0].summary+'</p>';
result+='</div>';
result+='</div><hr class="extra-upper-block-separator">';
$('#profile-extras').append(result);
这很好用。现在我想点击
点击<p>
标记
<i class="'+b[0].icon+' extra-head-icons"></i>
这些是我试过的代码
$('.edit-prof').nextAll('.extra-sub-block-summary:first').click();
$('.edit-prof').nextAll('p:first').click();
$('.edit-prof').nextAll('div > .extra-sub-block-summary:first').click();
没有任何作用。为什么p没有被选中?我只在加载动态内容后才执行脚本。
答案 0 :(得分:1)
你应该使用event delegation
$(document).on("click",".extra-sub-block-summary:first",function(){
});
事件委托允许您将单个事件侦听器附加到父元素,该元素将为匹配选择器的所有子项触发,无论这些子项现在是存在还是将来添加。
修改强>
|你获得元素的方式是错误的。 试试这段代码
$('.edit-prof').closest("h5").next(".extra-sub-block").find(".extra-sub-block-summary:first").click();