使用getElementsByTagName('*')/ Wildcard

时间:2015-07-07 09:05:53

标签: javascript wildcard innerhtml getelementsbytagname

我仍在尝试使用JavaScript,但我遇到了一个问题:

我有一个简单的HTML网站进行练习,在这个网站上有一个 <p id="main_paragraph_two">... und Viel Erfolg!</p>  还有:<p id="sub_paragraph_two">... und Viel Erfolg!</p>

任务是:将Text ... und Viel Erfolg改为......和vielen Dank!

我的同事告诉我使用getElementsByTagName而不是使用通配符('*')。

现在我的问题是:如何将两个p-tag更改为上面显示的文本? *请注意!只有javascript!也没有使用querySelectorAll(我知道它的工作方式是^^)。

这是迄今为止我制作的JS:

function textchange()
        {
            var change = document.getElementsByTagName('*');
            for (var i = 0; i < change.length; i++)
            {
                if (document.getgetElementsByName('paragraph_two'))
                {
                    change[i].innerHTML = '...und Vielen Dank!';
                }
            }
        }

谢谢!

1 个答案:

答案 0 :(得分:1)

使用getElementsByTagName相对较慢。为什么不将段落的ID添加到数组中,循环遍历数组然后更新内容。

例如:

function textChange( elems, replace )
{
    for( var i = 0; i < elems.length; i++ )
    {
        document.getElementById( elems[i] ).innerHTML = replace;
    }
}

现在,您可以按如下方式调用该函数,其中elems是ID的数组,replace是用于替换的字符串:

textChange( ['main_paragraph_two', 'sub_paragraph_two'], '...und Vielen Dank!' );

jsFiddle Demo