似乎无法获得<label> </label>的.html()

时间:2011-03-17 22:46:45

标签: javascript jquery

这是我的代码:

$('.adsize_click').click(function () {
  $(this).closest('span').toggleClass('ad_active');
  $('.ads_selected').append($(this).closest('label').html());
});

我有一堆像这样的跨度:

<span class="adsize"><input type="checkbox" name="size" value="1" id="size1" class="adsize_click"><label for="size1" class="adsize_click2">Leaderboard</label></span>

我希望如此,当您点击<input><label>时,<label>(在这种情况下,“排行榜”)的HTML会附加到{<div> 1}}下面。

不确定我在这里做错了什么想法?

3 个答案:

答案 0 :(得分:3)

closet行中的siblings更改为append

$('.adsize_click').click(function () {
  $(this).closest('span').toggleClass('ad_active');
  $('.ads_selected').append($(this).siblings('label').html());
});

答案 1 :(得分:0)

您是否尝试过寻找与标签相关的课程?是这样的?

$('.adsize_click,.adsize_click2') ...

答案 2 :(得分:0)

closest返回与选择器匹配的第一个祖先。标签不是输入的祖先。

您可能正在寻找:

jQuery('.adsize').click(function () { 
    jQuery('.ads_selected').append(jQuery('label', this).html());
});