`
dingjun1
  • 浏览: 213620 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

单双引号引发的问题 HTML中嵌套 传递参数为函数句柄的方法

阅读更多
生成HTML字符串时,传递的函数句柄会使用其函数体本身替换。
以下问题在IE6下发现

<html>
<head>
<META http-equiv="Content-Type"
            content="text/html; charset=UTF-8">
	<script>
function dj(b){
	b();
	//callbackfun();
}

function a(tca){
	//alert(tca);
  var str='你是什么人呢,呵呵';
  str+='测试';
str+='呵呆rb报报个错呢?';
alert(str);
}
var callbackfun;
function t(c){
	var tca="dddd";
	//callbackfun=c;
	document.getElementById("test").innerHTML="<input type='button' onclick='dj("+c+");' id='my2' value='测试2' name=''>";
}
</script>
</head>
<body>

<input type="button" onclick="t(a);" id="my" value="测试吧" name="">

<div id="test"></div>
</body>

</html>



当function t(c)中生成HTML字符串时,onclick='dj("+c+")'被替换为如下
onclick='dj(function a(tca){
	alert(tca);
  var str='

(FIREFOX3.5下测试无此问题,会自动把单引号转换为双引号)
可以看出是function a() str使用单引号引发了解析问题。如果function a()如下则能正常运行
function a(tca){
	alert(tca);
  var str="你是什么人呢,呵呵";
  str+="测试";
str+="呵呆rb报报个错呢?";
alert(str);
}


因为:
function t(c)中生成HTML字符串时,onclick='dj("+c+")'被替换为如下
dj(function a(tca){
	alert(tca);
  var str="你是什么人呢,呵呵";
  str+="测试";
str+="呵呆rb报报个错呢?";
alert(str);
});

============================================
以上是在IE6下测试
分享到:
评论

相关推荐

    升级补丁tongWeb7.0.4.2-3单双引号标签问题.zip

    描述中提到的“解决TongWeb7.0.4.2-7.0.4.3引号嵌套报错问题”,意味着在TongWeb的7.0.4.2至7.0.4.3版本之间,存在一个与单双引号处理相关的编程错误。在HTML、XML或JavaScript等语言中,引号的正确使用是至关重要的...

    单双引号交叉使用

    ### 单双引号交叉使用在SQL语句中的实践与解析 #### 一、引言 在编写SQL语句时,正确使用引号是至关重要的。引号的主要作用是用来界定字符串,但在不同的上下文中,其具体用法可能会有所不同。本文将深入探讨在SQL...

    关于JavaScript的单双引号嵌套问题

    正确地处理字符串中的引号,尤其是单双引号嵌套的情况,是编写有效JavaScript代码的一个重要方面。在JavaScript中处理字符串时,单引号和双引号的嵌套规则相对简单,但如果不了解这些规则,很容易犯错。 首先,需要...

    SQL里单双引号使用区别

    在ASP或其他脚本语言中,由于字符串拼接的原因,通常会使用单引号来包裹字符串,以避免与双引号引起的嵌套问题。比如: ```vbscript strSql = "INSERT INTO users (username) VALUES ('" & myusername & "')" ``...

    shell 单双引号区别-易懂.docx

    在`echo "$do_date"`的命令中,`$do_date`的值被正确地替换为传递给脚本的参数,即`2019-02-10`。 - 双引号内的特殊字符(如$、`、\等)也会被解析。例如,`echo "$do_date"`会输出变量的实际值,而`echo `date``则...

    JavaScript 限制文本框不可输入英文单双引号的方法

    总的来说,这种方法有效地阻止了用户在文本框中输入英文的单双引号。然而,需要注意的是,这种方法并不完美。例如,它不会阻止用户通过复制粘贴的方式输入引号。为了更全面地限制输入,可以考虑使用`onpaste`事件...

    js 单双引号

    在JavaScript编程语言中,单引号 `'` 和双引号 `"` 都被用来创建字符串。这个主题,"js 单双引号",涉及到它们的使用、差异以及最佳实践。 1. **创建字符串** 在JavaScript中,单引号和双引号都是用于创建字符串的...

    解决python3插入mysql时内容带有引号的问题

    在使用Python3进行MySQL数据库操作时,我们可能会遇到一个问题,即当我们尝试将包含引号的内容插入数据库时,会引发错误。这是因为数据库通常会将引号视为字符串的边界,导致解析错误。本文将详细介绍如何解决这个...

    替换php字符串中的单引号为双引号的方法

    这段代码中,`preg_replace` 函数接收三个参数:要匹配的模式(正则表达式),要替换的字符串,以及目标字符串。在这个例子中,模式 `/\'/` 用于查找所有单引号,然后将其替换为双引号 `"`。执行后,$new 变量将包含...

    单双(中边)预测单双(中边)预测单双(中边)预测

    单双(中边)预测单双(中边)预测单双(中单双(中边)预测边)预测单双(中边)预测

    js中单引号与双引号冲突问题解决方法

     这是js中的代码,如果这里这样写的话,会提示js错误,是因为removeOpenCss方法里的参数没有单引或者双引,如果这里,这样写的话: 代码如下:html += ‘ 取消’; 直接会报错,因为这里单引和双引冲突,所以我只...

    随机单双.zip

    在这个压缩包"随机单双.zip"中,只有一个文件名为"随机单双",这可能是某种代码、数据集或者是关于随机数生成与判断的文档。由于信息有限,我将根据一般情况来探讨随机数在IT领域的应用及其重要性。 随机数在信息...

    php 防止单引号,双引号在接受页面转义

    在PHP编程中,单引号(')和双引号(")的使用是一个常见的主题,它们在处理字符串时有着不同的行为。...在实际开发中,根据需要选择合适的引号类型,同时确保正确处理用户输入,以防止潜在的安全问题。

    php单引号和双引号的区别

    然而,在单引号('')中,变量将不会被解析,它们被视为普通字符。因此,`'$abc'`将原样输出`$abc`,而不是其值。 ### 转义序列处理 在**双引号(" ")**中,某些特殊字符可以通过前缀反斜杠(\)进行转义,如`\n`代表...

    易语言模块数字单双.rar

    本文将详细解析名为“数字单双”的易语言模块,探讨其核心功能、使用方法以及在实际编程中的应用。 模块“数字单双”是易语言中的一个实用工具,主要用于处理数字的奇偶性判断。在计算机科学中,数字的奇偶性是一个...

    sql语句中单引号,双引号的处理方法

    在SQL语句中,单引号和双引号的处理方式是至关重要的,尤其是在处理字符串、数字、日期和布尔值时。以下是对SQL语句中单引号和双引号处理方法的详细解释: 1. **插入字符串型数据**: 当你需要插入字符串类型的...

    单双代号网络图时间参数计算..ppt

    单双代号网络图时间参数计算是项目管理中一个关键步骤,涉及到时间参数的计算,包括工期、工期计划、工期持续时间、最早开始时间、最早完成时间、最迟完成时间、最迟开始时间、总时差、自由时差等。 一、网络计划的...

    随机单双随机单双

    随机单双随机单双随机单双随机单双

    php中的单引号、双引号和转义字符详解

    PHP单引号及双引号均可以修饰字符串类型的数据,如果修饰的字符串中含有变量(例$name);最大的区别是: 双引号会替换变量的值,而单引号会把它当做字符串输出。 例如: &lt;?php $name=string; echo 字符串 . '...

Global site tag (gtag.js) - Google Analytics