当前位置: 首页 > 面试题库 >

如何在JavaScript中按类获取元素?

贺经纶
2023-03-14
问题内容

我想替换html元素中的内容,所以为此使用了以下功能:

function ReplaceContentInContainer(id,content) {
   var container = document.getElementById(id);
   container.innerHTML = content;
}

ReplaceContentInContainer('box','This is the replacement text');

<div id='box'></div>

上面的方法效果很好,但是问题是我要替换其内容的页面上有多个html元素。因此,我不能使用id而是使用类。有人告诉我javascript不支持任何类型的内置get
element by class函数。那么如何修改以上代码以使其与类(而不是ID)一起使用?

PS我不想为此使用jQuery。


问题答案:

此代码应在所有浏览器中都有效。

function replaceContentInContainer(matchClass, content) {
    var elems = document.getElementsByTagName('*'), i;
    for (i in elems) {
        if((' ' + elems[i].className + ' ').indexOf(' ' + matchClass + ' ')
                > -1) {
            elems[i].innerHTML = content;
        }
    }
}

它的工作方式是遍历文档中的所有元素,并在其类列表中搜索matchClass。如果找到匹配项,则替换内容。



 类似资料:
  • 你好,我正在使用HtmlUnit库,我需要从标记获得一些href属性,在一些div: 此div位于 内部,而 内部 为了获得,我执行了以下操作: HTML: 现在从我发布的div中,我需要获得href,但我不确定如何做到这一点。是的,div有一个类名,但如果我有 它将打印15,因为中总共有15个列表,每个列表中都有一个div类。我需要做的是,在我从迭代中获得的中,使用类的准确div,而不是使用该类

  • 问题内容: 考虑以下功能: 而这个HTML部分: 显示警报框,但显示“未定义”。 问题答案: 您看到该错误的原因是因为返回了一个元素。并且a 元素没有属性。 使用此代替:

  • 问题内容: 我知道方法rdd.firstwfirst(),它为我提供了RDD中的第一个元素。 还有rdd.take(num)方法,它给了我第一个“ num”元素。 但是,是否有可能通过索引获取元素? 谢谢 问题答案: 首先应为RDD建立索引,这应该是可能的。转换提供了稳定的索引,以其原始顺序对每个元素进行编号。 鉴于: 要按索引查找元素,此形式无用。首先,我们需要使用索引作为键: 现在,可以使用P

  • 问题内容: 我正在寻找一种从样式标签中设置了样式的元素中检索样式的方法。 在身体里 我正在寻找不使用库的直接javascript。 我尝试了以下操作,但始终收到空白: 我注意到,如果我已使用javascript设置了样式,但无法使用样式标签,则只能使用以上内容。 问题答案: 该属性仅让您知道在该元素中定义为内联的CSS属性(以编程方式或在元素的style属性中定义),应该获取计算出的style。

  • 想要写一个Popover,计算元素位置使用的是floating-ui,需要获取触发元素的Ref和Popover内容的Ref来进行定位。 触发元素和内容通过插槽传入,遇到的问题是如何获取插槽内元素的Ref Popover 伪代码: 使用: 目前我能想到的办法就是在触发元素和内容外套一层div,然后用div的Ref 但是这样就多了一层节点,在想能不能有更好的解决方案?

  • 问题内容: 我想: 查找页面中所有元素的样式属性(例如:具有的所有元素) 更改所有属性(例如从到)。 您对此有何建议? 问题答案: 我的建议是尽可能避免这样做。而是使用类来分配颜色值,然后可以使用该类而不是颜色值来查找元素。 据我所知,没有可用于查询 特定 样式值的选择器(即使在CSS3中也是如此),这意味着循环遍历所有元素(或者看起来可以将其限制为具有属性的所有元素)并看着财产。现在,问题是,即