【发布时间】:2014-09-23 01:48:14
【问题描述】:
从一个全新的纯 HTML 文档开始,并且只使用 HTML 和 Javascript。
在上面加上超链接的单词“食物”
点击“食物”时,应替换为“肉类和蔬菜”
点击“肉”时,应替换为“培根猪肉”
点击“蔬菜”后,应替换为“胡萝卜加豌豆”
点击''pork''时,应该换成''tough and chefy''
点击''tough''时,应替换为''burnt and salty''
(等等)
我一直在尽力做到这一点,但我遇到了转义码问题。
这是我的代码:
<span id="food"><a href="#" onclick="document.getElementById('food').innerHTML='<span id=\'meat\'><a href=\'#\' onclick=\'var meat = "<span id=&pork&><a href=#\ onclick=alert(2)>pork</a></span> with bacon"; document.getElementById("meat").innerHTML = meat\'>meat</a></span> and <span id=\'vegetables\'><a href=\'#\' onclick=\'var vegetables = "carrots plus peas"; document.getElementById("vegetables").innerHTML = vegetables\'>vegetables</a></span>'">food</a></span>
它正在运行:http://jsfiddle.net/jshflynn/L6r5rrfx/
很抱歉,它没有间隔,但这会引发错误。
请注意,''alert(2)'' 周围没有分隔字符,我不知道如何让它说 alert(''Hello'')。
我觉得必须有一些递归方式来做到这一点,但我不确定。
提前致谢。尤其是如果你能解决完整的问题。
【问题讨论】:
-
哈哈老实说,这很有趣!我会尽快给你一个优雅的解决方案。
标签: javascript html quote html-escape-characters