document.getElementsByClassName('className')在不存在时给出undefined

时间:2018-05-31 13:18:34

标签: javascript angular

我正在研究Angular 2中的一个程序,我需要在一个页面中注入一个Google表单。

当用户发送表单时,会出现一个按钮,用于显示填写的表单和结果。 之后,用户单击按钮继续。 问题是当我使用该功能时:

document.getElementsByClassName('quantumWizButtonNestedLink exportButtonNestedLink')[0].getAttribute("href");

当我将它键入控制台时,chrome说:

  

错误类型错误:无法读取未定义的属性“getAttribute”

但如果我点击包含href的按钮 Ctrl + Shift + C (这给了我这个按钮的代码)然后我在控制台中写"document.getElementsByClassName..."它给了我想要的href ...

有没有人有解决方案?

1 个答案:

答案 0 :(得分:0)

在代码中有一个用户需要回答的google表单调查。 当用户完成填充时,有一个按钮继续下一步。 当用户按下按钮时,系统需要采取' href'填写调查结果。 但是当用户按下chrome打印日志中的按钮时,错误按下该属性是未定义的 这是代码:

<p>  <button type="button"  class="btn btn-link font"id="home">
    <span class="glyphicon glyphicon-home"></span> Home
    </button></p>
        <div class="ttl">
             <h1>Fill the next survey</h1>
        </div>
     <div class="ggl">
        <iframe class="gglFrm" src="https://docs.google.com/forms/d/1m2Oqlrvz2ftgGnYOjNlkgl0WrJrbA23ZtyMwidPOq7s/viewform?chromeless=1&edit_requested=true"></iframe>
</div>
<p>  <button (click)="nxt()" type="button"  class="btn btn-link font">

         Press to continue 
        </button></p>

按钮功能是:   NXT()   {

var x = document.getElementsByClassName('quantumWizButtonNestedLink exportButtonNestedLink')[0].getAttribute("href");

}

注意:目前nxt功能只需要采用&#39; href&#39;