在javascript中,string.replace给出Uncaught TypeError:无法调用null的方法'replace'

时间:2012-03-31 22:37:57

标签: javascript jquery

function superman(){ //some code
var opitem = $("#opinionitem").html();
opitem.replace(":opinionid","valid string");
//more code
}

给出Uncaught TypeError:无法调用null

的方法'replace'
alert(opitem) 

给出一个字符串警报,而不是空

opinionitem

<div id="opinionitem" opinionid="0" >
        <table>
          <tr>
            <td>Image Here<img src="" onclick=""></img></td>
            <td>
              <input type="hidden" value="0"/>
              <span id="opinionid">:opinionid</span>
              <span id="opinion">:opinion</span><br/>
              <span id="note">:note</span></br>
              <span id="dateposted">:dateposted</span> - 
              <span id="lastvote">:lastvote</span> - 
              <span id=""lastcomment>:lastcomment</span>

              <button id="deleteopinionbutton" 
                      onclick="deleteopinion(:opinionid)">Delete Opinion</button>
            </td>
          </tr>
        </table>
      </div>

2 个答案:

答案 0 :(得分:0)

您的选择器不会抓取任何元素,因此html将返回null。

检查this demo:

<div id='first'></div>
alert($('#first').html());  // alert(''); 
alert($('#second').html());​ // alert(null);

答案 1 :(得分:-1)

opitem=opitem.replace(":opinionid","valid string");

解决了我的问题,感谢thiefmaster