开发中“错误: 意外地调用了方法或属性访问。” 和 第一行错误 的IE 两个问题( JQ 进行转义字符 , 分页JS 调用 时参数问题。)

错误: 意外地调用了方法或属性访问。:

是因为
:
在后台取出的数据Contents 是被C# HTMLENCODE()过的。用于输出成HTML格式的话,要通过解析。
这里没用字符串替换,而是取巧使用JQ的HTML(“XXX”);

首先,页面声明一个容器。<div  style="visibility:hidden"  id="Change"></div> :注意 这里一定要 调用,并设置为 不可见。设置的方式 是CSS
第二,  jQuery("#Change").html();清空。只有清空了才能保证内部的字符是当前的字符,不包括以前的字符。
第三,赋值+取出Text()取出里面匹配元素的文本内容(字符串形式),对HTML 有效。
         Contents =jQuery("#Change").html(contenttemp).text();
这样就转义成了对应的HTML代码了。

问题是。出现“错误: 意外地调用了方法或属性访问。:”
是因为二个
1.我一开始定义的是一个INPUT。不是一个DIV。在IE中,不被认同是一个容器。
2.我一开始没有清空。

第一行错误

是因为
:
在分页JS中,具体页码对应的超链接的参数的写的方式不同。
因为原本的参数有的是数字,有的是文本字符。
所以在转义的时候会选择不同的方式。
"<a href='javascript:getPageListSet(1,\"" + key + "\"," + colum + ",\"" + utilUrl + "\",\"" + editUrl + "\",\"" + otherSetName + "\",\"" + otherSetUrl + "\")'>" + first + "</a> ");
数字的是直接写上的。
字符的是转义了字符串才能INNERHTML输出的。

问题是:出现“第一行错误”
是因为。我在前台页面中调用JS ,传递的参数中有的我不需要使用了。
例如
 colum
他在JS中转义是
" + colum + "是一个数字。
可是我在页面中调用JS

<body onload="getPageListSet(1, '',’‘, 'Util/JobsUtil.aspx', '', '', '')">对应的位置写成了“空字符”
那么传递的时候就造成了参数的异常。

既然不使用,那么我就把它定义为0.让他随着传递也不会产生异常。


<body onload="getPageListSet(1, '',0, 'Util/JobsUtil.aspx', '', '', '')">

原文地址:https://www.cnblogs.com/mahaisong/p/2099003.html