javascript - 使用 "getElementById"检索多个元素?

标签 javascript jquery

我尝试过使用提到的技术 in these questions ,但我没有任何运气。我正在尝试调整 JavaScript 函数以使用 getElementById 方法检索多个 div。

这是函数中检索 div #cat1 的当前代码行:

  var elem = document.getElementById(cat1);

接下来,我需要这个函数来检索 div #cat2

如果有更好的方法可以使用他们的库来加载 jQuery 吗?

<小时/>

这是完整的函数(引用第 3 行):

function getCategories(initial) {
  var i;
  var elem = document.getElementById('cat1');
  if (initial == 1) {
  jsonGroups = "";
  jsonGroups = '{ xml: [], "pin": [] ';
  for (i = 0; i < elem.childNodes.length; i++) {
    if (elem.childNodes[i].nodeName == "LI") {
      jsonGroups = jsonGroups + ',  "' + elem.childNodes[i].attributes.getNamedItem("id").value + '": [] ';
    }
  }
  jsonGroups = jsonGroups + "}";
  markerGroups = eval('(' + jsonGroups + ')');

for (i = 0; i < elem.childNodes.length; i++) {
      if (elem.childNodes[i].nodeName == "LI") {
        var elemID = elem.childNodes[i].attributes.getNamedItem("id").value;
        if (elemID != "user") {
          elem.childNodes[i].innerHTML = "<a onclick='" + 'toggleGroup("' + elemID + '")' + "'>" + elem.childNodes[i].innerHTML + "</a>";
        } else {
          elem.childNodes[i].innerHTML = '<form id="userPOIForm" action="#" onsubmit="userPOIFind(this.userPOI.value); return false"><input id="userPOITxt" size="20" name="userPOI" value="' + elem.childNodes[i].innerHTML + '" type="text"><input id="userPOIButton" value="Go" type="submit"> </form>';

        }
        if (hasClass(elem.childNodes[i], "hidden") !== null) {
          elem.childNodes[i].setAttribute("caption", "hidden");
        } else {
          elem.childNodes[i].setAttribute("caption", "");
        }
        if (elem.childNodes[i].attributes.getNamedItem("caption").value != "hidden") {
          classAdder = document.getElementById(elemID);
          addClass(classAdder, "visibleLayer");
        }
      }
    }
  }
  for (i = 0; i < elem.childNodes.length; i++) {
    if (elem.childNodes[i].nodeName == "LI") {
        var catType = elem.childNodes[i].attributes.getNamedItem("id").value;
        
      result = doSearch(elem.childNodes[i].attributes.getNamedItem("title").value, elem.childNodes[i].attributes.getNamedItem("id").value);
    }
  }
}

最佳答案

如果您尝试选择 idcat 开头的所有元素,您可以在 jQuery 中执行此操作,如下所示:

$("[id^=cat]")

jQuery: Attributes Starts With Selector

关于javascript - 使用 "getElementById"检索多个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14012519/

相关文章:

javascript - React Native onPress 事件延迟

javascript - jQuery UI 菜单,如何访问选项?

javascript - 在 jQuery 中使用 for 循环创建 div 并为每个 div 分配 ID

javascript - 单击时更改数组列表中的值

jquery - 无法在 ie6 中将隐藏的 div 置于顶部

javascript - 如何获得两个日期之间的差异?

javascript - AmCharts - 帮助创建趋势栏

javascript - 将对象传递到新页面

javascript - 如果firestore中存在 "video"字段,如何显示视频模板?

javascript - 使用 jQuery 处理按钮/ajax 请求