Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery获取Div中特定类型的元素_Javascript_Jquery - Fatal编程技术网

Javascript 使用jQuery获取Div中特定类型的元素

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

我有一个动态生成的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="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
  })