相关疑难解决方法(0)

使用内置DOM方法或Prototype从HTML字符串创建新的DOM元素

我有一个表示元素的HTML字符串:'<li>text</li>'.我想将它附加到DOM中的一个元素(ul在我的例子中).如何使用Prototype或DOM方法执行此操作?

(我知道我可以在jQuery中轻松完成这个,但不幸的是我们没有使用jQuery.)

javascript dom prototypejs

555
推荐指数
15
解决办法
53万
查看次数

el.classList未定义

一旦点击链接,我就试图在纯JS中为div添加一个类(在这种情况下,链接有id #switchlogin).当我调试我的元素时,我能够点击该对象并看到它的classList中当前有两个名字.但是,当我在console.log element.classList中时,我收到一个"未定义".我不确定为什么我收到undefined,为什么我不能添加我的新类名.

这个问题在这里重新创建:https://jsfiddle.net/swf5zc74/

这是我的HTML的一部分:

   <div class="sign_in modal">

      <h1>Get Started!</h1>

      <form action="" method="get">

        <input type="text" name="fname" placeholder="Name" required>
        <input type="text" name="email" placeholder="Email" required>
        <input type="password" name="password" placeholder="Password" required>
        <input type="submit" value="Submit" class="submit">

      </form>

      <h3><a href="#" id="switchLogin">Been Here Before?</a></h3>
    </div>
Run Code Online (Sandbox Code Playgroud)

我的JS:

var body = document.getElementsByTagName('body'),
    signIn = document.getElementsByClassName('sign_in modal'),
    logIn = document.getElementsByClassName('log_in'),
    switchLogIn = document.getElementById('switchLogin'),
    switchSignIn = document.getElementById('switchSignin'),
    link = document.querySelector('a');

link.addEventListener("click", function(e){
    if ((e.target || e.srcElement).id == 'switchLogin'){
        console.log(signIn);
        console.log(signIn.classList);
        signIn.classList += ' slideOut';
    }else{
        console.log("nope"); …
Run Code Online (Sandbox Code Playgroud)

javascript css javascript-events

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

javascript ×2

css ×1

dom ×1

javascript-events ×1

prototypejs ×1