从文档中选择标签而不知道id

时间:2010-12-03 20:13:10

标签: javascript iframe

我一直在使用javascript修改iframe。 iframe包含this form

我希望能够从标签中检索信息;但是它没有ID。有没有什么方法可以通过ID获取javascript以获取输入按钮,并让它分析分配给它的标签?

3 个答案:

答案 0 :(得分:4)

您可以查看所有label个元素,找到for属性与您的按钮ID匹配的元素:

var labels = document.getElementsByTagName('label');
var label = null;
var buttonID = '...';
for (var i = 0; i < labels.length; i++)
  if (labels[i].htmlFor == buttonID) {
    label = labels[i];
    break;
  }
// "label" now refers to the label you're looking for

答案 1 :(得分:2)

如果您只知道按钮ID,卡萨布兰卡的方式是最佳方式。

根据您可能知道的其他内容,其他事情可能会更快。例如,如果您知道它在DIV内部,您知道ID,并且您知道它是DIV中唯一的标签,那么您可以执行类似

的操作
var label = document.getElementById('myDiv').getElementsByTagName('label')[0];

如果您知道它永远是唯一与您的按钮具有相同父级的标签,您可以写

var label = document.getElementById('button').parentNode.getelementsByTagName('label')[0];

基本上,根据您可以承担的假设,一系列广泛的解决方案可能是最佳的。如果您只知道您在问题中告诉我们的内容,那么卡萨布兰卡的迭代就是您的选择。

答案 2 :(得分:0)

我强烈建议调查jQuery进行此类操作。我敢肯定你可能不想引入一个完整的Javascript框架来解决这个小问题,但如果你学习它,你会发现Javascript编程变得更容易。

假设@ casablanca的答案是正确的,你可以使用以下代码在jQuery中完成同样的事情:

var label = $('label[for="..."]').get(0);

(或类似的东西。我的语法可能已关闭。: - )