JavaScript函数,将HTML作为参数传递

我的脚本中有两个函数,一个输出一些长HTML字符串,另一个将此字符串作为参数并处理它。

function myFirstFunction() {
    //output some HTML
    return myHTML;
}

var myHTML = myFirstFunction();

function mySecondFunction(myHTML) {
    //do something with parameter
}

出于某种原因,我无法弄清楚,Chrome JS控制台不断给我出现以下错误: “Uncaught SyntaxError:Unexpected token <”

我想也许是因为这样一个事实,输出的HTML相当长,因为它似乎与HTML的小块工作。 有什么想法吗? 谢谢!


这是问题:

myHTML是一个像这样的HTML 字符串

var myHTML ="<div id="foo"><div id='hello'>hello</div><div id="bar">bar'asdf'asf"sdf"&soidf;</div></div>";

这不会工作,因为你有引号和内部的东西,不逃脱。

如果您使用innerHTML获取页面上的元素的HTML,这不会是一个问题。


myHTML是用一些<或>额外构造的,所以请验证html字符串


我假设你真的想通过HTML,而不是字符串文字。 如果您尝试如下所示:

myFunction(<html><body>...);

这肯定会通过一个错误。 你需要使用字符串文字:

myFunction("<html><body>...");

如果您使用的HTML中包含引号,则需要转义它们或使用单引号:

"<div id="name">" 

不是有效的字符串。 使其成为:

"<div id="name">" or
'<div id="name">'
链接地址: http://www.djcxy.com/p/45955.html

上一篇: JavaScript function, pass HTML as parameter

下一篇: Uncaught SyntaxError: Unexpected token <