如何将类添加到输入类型radio的父span

时间:2014-01-06 14:12:54

标签: javascript jquery html

我怀疑jQuery。我有一个HTML结构如下:

<div class="radio" id="uniform-op21">
    <span>
        <input type="radio" value="2" id="op21" name="op11" style="opacity: 0;">
    </span>
</div>

我想使用addClass() jQuery使用 id 输入类型无线电作为op21添加一个类。我无法编写代码。

当我使用以下代码时:

$("#op11").parent().addClass("checkbox");

然后它将 class 添加到<div>而不是<span>。如何使用此<span>

将课程添加到id代码中

update

抱歉,实际上完整的代码结构如下:

<div style="margin-left:60px;font-size:14px;" class="checked">
    <div class="radio" id="uniform-op11"><span><input type="radio" value="1" id="op11" name="op11" style="opacity: 0;"></span></div>Indira gandhi<br><br>
    <div class="radio" id="uniform-op21"><span><input type="radio" value="2" id="op21" name="op11" style="opacity: 0;"></span></div>Rajendra Singh<br><br>
    <div class="radio" id="uniform-op31"><span><input type="radio" value="3" id="op31" name="op11" style="opacity: 0;"></span></div>Rahul Gandi<br><br>
    <div class="radio" id="uniform-op41"><span><input type="radio" value="4" id="op41" name="op11" style="opacity: 0;"></span></div>Narendra Modi<br><br>
    <div class="radio" id="uniform-zero"><span><input type="radio" value="0" id="zero" name="op21" style="opacity: 0;"></span></div>Narendra Modi<br><br>
    </div>

我想在id zero的输入范围内添加类,当我使用代码时

$("#zero").parent().addClass("checked");

然后直接在第一行的div上添加类。如何添加,这些span标签已经添加

5 个答案:

答案 0 :(得分:2)

你可以尝试:

$('#op21').closest('span').addClass('checkbox');

Or

$('#op21').parent().addClass('checkbox');

<强> Working Fiddle

答案 1 :(得分:2)

只需将$("#op11")更改为$("#op21")即可。除此之外,你的代码还可以。

FIDDLE

答案 2 :(得分:1)

您的选择器错误,您希望#op21的父级不是#op11

$("#op21").parent().addClass("checkbox");

此外,您关闭input元素/>

<input type="radio" value="2" id="op21" name="op11" style="opacity: 0;" />

答案 3 :(得分:1)

这只是你的id错误。你的Jquery是正确的:

SEE THIS FIDDLE

$("#op11").parent().addClass("checkbox");

$(document).ready(function(){
alert(document.getElementById('uniform-op21').innerHTML);
});

请注意,在警告中您可以看到添加到范围的类。


SEE THIS FIDDLE IN WHICH SPAN OF EVERY INPUT IS ADDED WITH class=checkbox

答案 4 :(得分:1)

您的jQuery选择器错误

代码:

<input id="op21" name="op11">

(更多理解的简短版本)

您的jQuery:

$("#op11") = <input id="op11">(这是错误的)(您的输入ID为op21

正确的是:

$("#op21")

按ID(#= id)(ID Selector)

选择

$("input[name='op11']")

按attr name (Attribute Equals Selector)

选择

Learn more about selectors


已编辑:$('#zero')