使用JavaScriptDOM获取具有标记名的第一个元素

使用JavaScriptDOM获取具有标记名的第一个元素,javascript,html,Javascript,Html,我试图使用getElementByTagName().firstChild[0]获取带有标记的第一个元素。innerHTML但是在将其添加到内容时遇到了一些问题,我得到了未定义的 这是我正在使用的javascript function loopImage() { var value = document.getElementById("loopvalue").value; var content = document.getElementById("contained");

我试图使用
getElementByTagName().firstChild[0]获取带有标记
的第一个元素。innerHTML
但是在将其添加到内容时遇到了一些问题,我得到了
未定义的

这是我正在使用的javascript

function loopImage()
{
    var value = document.getElementById("loopvalue").value; 
    var content = document.getElementById("contained");
    if(value >= 1)
    {
    content.innerHTML = '<br><input type="button" value="Search" onClick="loopImage()"><input type="text" id="loopvalue"><br><br>';
    for(var i =0;i< value; i++)
    {
        content.innerHTML = content.innerHTML + content.getElementByTagName('figure').firstChild[0].innerHTML;
    }
    content.innerHTML = content.innerHTML + '<style>figure:nth-of-type(2n+2){background:black;color:red;}</style>';
    }
    else if(value == "") location.reload();
    else if(value <= 0) alert("Positive Numbers only!");
    else alert("Are you sure that was a number?")
}
函数loopImage()
{
var值=document.getElementById(“loopvalue”).value;
var content=document.getElementById(“包含”);
如果(值>=1)
{
content.innerHTML='


'; 对于(变量i=0;i
 content.getElementsByTagName('figure')[0].innerHTML

您引用的代码有两个问题:

content.getElementByTagName('figure').firstChild[0].innerHTML
// Missing s -----^                  ^^^^^^^^^^^^^^--- there is no firstChild on the return value
所以理论上可能是这样

content.getElementsByTagName('figure')[0].innerHTML
…但这会得到一个列表,然后从中取出第一个,当你只需要第一个列表而根本不需要列表时。我可能会得到第一个:

content.querySelector('figure').innerHTML

querySelector
查找CSS选择器的第一个匹配元素,如果不匹配,则查找
null
。所有现代浏览器和IE8都支持它。(它是
querySelectorAll
的相对项,返回CSS选择器的匹配元素列表。)

只需使用
getElementsByTagName()[0]
就足够了。如果函数未包装在中,则当JavaScript尝试访问尚不存在的元素时,可能会遇到问题。没有这样的方法(
getElementByTagName
),您需要。也许您需要解释您所做的更改?更改是显而易见的。删除firstChild。此网站中有一种不好的做法,即快速向下投票手指。不是我的dv,但更改(复数)并不明显,即使是,解释它们仍然很有用。(复数:还有缺失的
s
,您默默地纠正了它。)好的,下次我会尽量解释得更好。但我认为不需要进行最小的更改来解释。对不起。
content.querySelector('figure').innerHTML