Javascript 传递多个innerhtml以更新twitter状态并编码

Javascript 传递多个innerhtml以更新twitter状态并编码,javascript,innerhtml,encode,getelementbyid,Javascript,Innerhtml,Encode,Getelementbyid,我试图制作一个链接,将多个div的动态数据内容作为一句话发送到tweet上 Javascript function toggle(){ var joe = document.getElementById("fulltxt"); document.getElementById("tweet").setAttribute('href','http://twitter.com/home?status=' + joe.innerHTML) } 我想要推特的内容 <

我试图制作一个链接,将多个div的动态数据内容作为一句话发送到tweet上

Javascript

function toggle(){
      var joe = document.getElementById("fulltxt");
      document.getElementById("tweet").setAttribute('href','http://twitter.com/home?status=' + 

joe.innerHTML)
  }
我想要推特的内容

<div id="fulltxt">
<div id='action'> actiontext </div>
<div id='reason'> reasontext</div>
<div id="party"> partytext </div>
</div>

动作文本
推理文本
partytext
推特的链接

<a id="tweet" href='#' onClick="toggle(this.value)">שתף בטוויטר</a>

我遇到的问题是

一个或多个参数/intent/tweet中的Unicode值无效?source=webclient&text=%3Cdiv+id%3D%22action%22%3E%F9%EC%E5%ED%3C%2Fdiv%3E%E5%E6%E4+%E1%E2%EC%3Cdiv+id%3D%22party%22%3E%E1%E9%E9+%F0%FA%F0%E9%E4%E5%3C%2Fdiv%3E

可能有两个问题

  • html标记-因此我需要将单个div(action+reason+party)串在一起,而不是使用fulltxt
  • 语言-(希伯来语)我认为这可能是一个编码问题

  • 为了测试它,我用一个单独div的id替换了函数中的fulltxt,当单独div的内容是英语时,它可以工作,但当它是希伯来语时,它会给我一个错误

    您是正确的,这是一个编码问题。innerHTML还将包括嵌套div的标记。 IE支持innerText,其余使用

    对统一资源标识符进行编码 (URI)通过替换每个 某个字符的实例, 两个、三个或四个逃逸序列 表示文件的UTF-8编码 字符(将仅为四个转义) 由以下字符组成的字符序列: 两个“代理”字符)


    伟大的作品现在只占了一部分,我如何将单个divsinertext的内容串在一起,而不是内部的htmlAh,是的,道歉。我错过了
    function toggle(){
      var joe = document.getElementById("fulltxt");
      var text = joe.textContent?joe.textContent:joe.innerText;
      document.getElementById("tweet").setAttribute('href','http://twitter.com/home?status=' + 
      encodeURIComponent(text);
    }