Javascript 使用jQuery获取Div中特定类型的元素
我有一个动态生成的HTML页面。HTML的粗略版本如下所示:Javascript 使用jQuery获取Div中特定类型的元素,javascript,jquery,Javascript,Jquery,我有一个动态生成的HTML页面。HTML的粗略版本如下所示: <div id="brotherDiv"> <input type="radio" name="myOtherGroup" value="A" /> <input type="radio" name="myOtherGroup" value="B" /> </div> <div id="myDiv"> <input type="radio" name="my
<div id="brotherDiv">
<input type="radio" name="myOtherGroup" value="A" />
<input type="radio" name="myOtherGroup" value="B" />
</div>
<div id="myDiv">
<input type="radio" name="myGroup" value="1"></input>
<input type="text" id="myText" name="myText"></input><br />
<input type="radio" name="myGroup" value="2"></input>
<input type="text" id="myText2" name="myText2"></input><br />
<input type="radio" name="myGroup" value="3"></input><br />
<input type="radio" name="myGroup" value="4"></input>
</div>
<div id="sisterDiv"></div>
我觉得我很接近了。我建议:
var rbs = $("#myDiv input[name='myGroup']:checked"),
index = rbs.index(),
// amongst its siblings, or:
inputIndex = rbs.index('input[name="myGroup"]');
// amongst other input elements of the same group
参考资料:
CSS:
.
.
jQuery:
.
myDiv中的所有单选按钮:
检查:
var checkedIndex = rbs.filter(':checked').index(':radio');
对第1条的答复:
var radios = $('#myDiv input[type="radio"][name="myGroup"]');
对第2条的答复:
var checkedRadios = radios.index( $('#myDiv input[type="radio"][name="myGroup"]:checked') );
试一试
var rbs=$myDiv[type=radio]
,rbschecked=null;
rbs.ChangeFunction{
rbschecked=rbs.indexe.target;
e、 target.dataset.i=rbschecked;
console.logrbschecked
}
myDiv输入:选中:之后{
位置:相对位置;
内容:ATRTDATA-i;
左:12px;
顶部:-2px;
颜色:蓝色;
字体系列:arial;
字体:斜体;
}
var rbs=$input[name='myGroup']:选中;输入错误:第二个代码中是rbs,而不是rds。About.index':radio'-它将在选中之前统计所有标记,包括,这不是期望的结果。我不想将您的代码的更正版本作为单独的答案发布。那么,您是否将第二个代码替换为var checkedIndex=rbs.indexrbs.filter':checked'。很奇怪,现在还没有人给出正确的答案。再说一次:在1的结果中获取所选单选按钮的索引怎么样?是的,最后我看到了第一个正确答案,尽管我更喜欢radios.indexradios.filter':checked';-避免在DOM中重复代码和重新搜索是个好主意,不是吗?是的,现在好多了:但有两件事:您确定选择器myDiv input[name='myGroup']而不是myDiv input:radio是可以接受的吗?是的,有$input[name='myGroup']在讨论中,但1是获取myDiv中的所有单选按钮。我有疑问的第二件事是:索引'input[name=myGroup]'是否可以接受?是的,myDiv中没有name=myGroup的元素,但是如果它们是,即使它不符合逻辑,又该怎么办呢?实际上,在一个选择器中使用myDiv,但在另一个选择器中不使用myDiv,这有点奇怪。我实际上不知道为什么我要在那里争取完整的答案而不是OP,但我希望看到您对上述问题的看法。我仍然无法投票支持某人的答案,因为他们在我看来像是未完成的答案。
var rbs = $('#myDiv input[type="radio"]'); // Get radio buttons
var result = $('#myDiv input[type="radio"]:checked') // Get checked radio buttons
var radios = $('#myDiv input[type="radio"][name="myGroup"]');
var checkedRadios = radios.index( $('#myDiv input[type="radio"][name="myGroup"]:checked') );
var rbs = $("#myDiv [type=radio]") // #1
, rbschecked = null; // #2 , pending change event
rbs.change(function(e) {
rbschecked = rbs.index(e.target) // #2
})