如何正确充气?

时间:2017-07-01 06:07:13

标签: javascript html5

我想在页面中查看此卡,但它没有显示任何内容。 我使用firebase作为我的后端 我试图在表中扩充从firebase检索到的数据,并且它与append()函数一起正常工作但是当尝试使用cardView时它不起作用  这是我的代码:

的index.html:

  <div class="mdl-layout__drawer">
   <span class="mdl-layout-title">Title</span>
    <nav class="mdl-navigation">
     <a class="mdl-navigation__link" href="">Link</a>
     <a class="mdl-navigation__link" href="">Link</a>
      <a class="mdl-navigation__link" href="">Link</a>
      <a class="mdl-navigation__link" href="">Link</a>
    </nav>
   </div>
   <main class="mdl-layout__content">
     <div class="page-content"> 
        <!-- Your content goes here -->
                     <div id="comments" class="inline-grid">
                     </div>
      </div>
     </main>

这是我的index.js:

var rootRef = firebase.database().ref().child("Stories");
rootRef.on("child_added", snap =>{
var title = snap.child("title").val();
var content = snap.child("content").val();
$("#comments").append(" <div class="mdl-card__title">
<h2 class="mdl-card__title-text">"+ title +"</h2>
 </div>
 <div class="mdl-card__supporting-text">
     "+ content +"
  </div>
   <div class="mdl-card__actions mdl-card--border">
    <a class="mdl-button mdl-button--colored mdl-js-button mdl-js-ripple-
   effect">
     Get Started
    </a>
   </div>
   <div class="mdl-card__menu">
    <button class="mdl-button mdl-button--icon mdl-js-button mdl-js-ripple-
     effect">
     <i class="material-icons">share</i>
    </button>
   </div>");
    });

1 个答案:

答案 0 :(得分:0)

.append()中,您作为参数传递的HTML不是有效字符串。在指定类属性时,使用双引号,JavaScript将其解释为字符串的结尾,因为您也使用双引号括起字符串。

对此的一个解决方法是使用反斜杠转义字符串中的双引号:
"\""

另一种方法是将字符串括在单引号而不是双引号中。然后你可以这样写:

var html = '<div class="mdl-card__title">'+
        '<h2 class="mdl-card__title-text">'+ title +'</h2>'+
      '</div>'+
      '<div class="mdl-card__supporting-text">'+ content +'</div>'+
      '<div class="mdl-card__actions mdl-card--border">'+
        '<a class="mdl-button mdl-button--colored mdl-js-button mdl-js-ripple-effect">Get Started</a>'+
      '</div>'+
      '<div class="mdl-card__menu">'+
        '<button class="mdl-button mdl-button--icon mdl-js-button mdl-js-ripple-effect">'+
            '<i class="material-icons">share</i>'+
        '</button>'+
      '</div>';

$("#comments").append(html);

没有必要将字符串分成如此多的行,但我更喜欢这种方式,以使HTML更具可读性。