更大的无线电选择区域

3zz*_*zzy 3 jquery select click radio-button

<span>
   <img src="img/icon.png" alt="" />
   <label><input type="radio" name="" /> Label here</label>
</span>
Run Code Online (Sandbox Code Playgroud)

我希望整个<span>可点击,而不仅仅是无线电输入.我如何用jQuery做到这一点?

Tat*_*nen 5

那么,最简​​单的解决方案是将所有内容包装在<label>标签内,如下所示:

<label for="foo">
    <img src="img/icon.png" alt="" />
    <input type="radio" name="" id="foo" />
</label>
Run Code Online (Sandbox Code Playgroud)

当您指定for要标记的属性,并且对该id字段指定相同时,标签将变为可单击并将激活相应的输入.

但是,如果你出于某种原因需要在jQuery中执行它,这应该工作:

$('span').click(function() {
    $(this).find('input').click();
    return false;
});
Run Code Online (Sandbox Code Playgroud)

  • 等等,由于事件冒泡,这不会导致无限循环吗?还是我弄错了?编辑:刚试过它,确实如此.您应该使用.select()而不是.click(). (2认同)
  • 我错了.select().它应该是$(this).find('input').attr({checked:true}); (2认同)