显示推文内容时,innerHTML不起作用

时间:2016-05-20 11:11:28

标签: javascript html

在Html文件中,我用

测试显示推文内容
<div class="container" id="trackingResults">
         <p id="printout">
            <blockquote class="twitter-tweet" data-link-color="#55acee" lang="es">
            <a href="https://twitter.com/jack/status/20">    
            </a>
            </blockquote></p>
</div>

效果很好 result1

然后当我尝试用js函数生成内容时

var trackingResults = document.getElementById('printout');
trackingResults.innerHTML = '<blockquote class="twitter-tweet" data-link-color="#55acee" lang="es"><a href="https://twitter.com/jack/status/20"></a></blockquote>';

它不起作用, result2

基本上,我只是将相同的内容复制到innerHTML属性,但它显示了不同的结果。

我不知道为什么。

3 个答案:

答案 0 :(得分:0)

您应该尝试使用

创建元素

Document.createElement()

document.body.onload = addElement;

function addElement () { 
  // create a new div element 
  // and give it some content 
  var newDiv = document.createElement("div"); 
  var newContent = document.createTextNode("Hi there and greetings!"); 
  newDiv.appendChild(newContent); //add the text node to the newly created div. 

  // add the newly created element and its content into the DOM 
  var currentDiv = document.getElementById("div1"); 
  document.body.insertBefore(newDiv, currentDiv); 
}

fiddle

答案 1 :(得分:0)

尝试

   
$('#trackingResults').html('<blockquote class="twitter-tweet" data-link-color="#55acee" lang="es"><a href="https://twitter.com/jack/status/20"></a></blockquote>');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container" id="trackingResults">
        
</div>

答案 2 :(得分:0)

据我了解,您正在使用Twitter api将您的blockquote转换为格式正确的推文推文iframe,该页面加载事件可以处理。并且在更改innerHTML时,它不起作用,因为该库不会绑定新添加的代码。因此,你什么都看不到。