在javascript中,string.replace给出了未捕获的TypeError:无法调用方法';更换';空的
提供未捕获的TypeError:无法调用null的方法“replace”在javascript中,string.replace给出了未捕获的TypeError:无法调用方法';更换';空的,javascript,jquery,Javascript,Jquery,提供未捕获的TypeError:无法调用null的方法“replace” function superman(){ //some code var opitem = $("#opinionitem").html(); opitem.replace(":opinionid","valid string"); //more code } 提供一个字符串警报,不为空 自以为是 alert(opitem) 图像在这里 :阿匹尼尼 :意见 :注 :日期已张贴- :最后一票- :最后评论 删除意见
function superman(){ //some code
var opitem = $("#opinionitem").html();
opitem.replace(":opinionid","valid string");
//more code
}
提供一个字符串警报,不为空
自以为是
alert(opitem)
图像在这里
:阿匹尼尼
:意见
:注
:日期已张贴-
:最后一票-
:最后评论
删除意见
选择器不会获取任何元素,因此html
返回null
检查演示:
警报($('#first').html());//警报(“”);
警报($('#second').html()); // 警报(空);
解决了我的问题,谢谢thiefmaster您是否使用调试器(如firebug)验证错误是否确实发生在您发布的代码中?哦,您需要分配
replace()
的返回值,因为它不会修改调用它的字符串。这意味着$(“#opinionitem”).html()
不会返回任何内容。页面上可能没有具有该“id”值的项目。您能告诉我们$(“#opinioitem”)
有什么问题吗?我看不出有什么不同?@gdoron.replace方法返回被替换的字符串,它不会更新对象实例,因此我需要将其分配给对象insance。尽管如此(并且已经知道…),这仍然不能解释为什么会出现null错误。
<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>
<div id='first'></div>
alert($('#first').html()); // alert('');
alert($('#second').html()); // alert(null);
opitem=opitem.replace(":opinionid","valid string");