Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS:用另一个词替换链接。嵌套引号+;转义码_Javascript_Html_Quote_Html Escape Characters - Fatal编程技术网

Javascript JS:用另一个词替换链接。嵌套引号+;转义码

Javascript JS:用另一个词替换链接。嵌套引号+;转义码,javascript,html,quote,html-escape-characters,Javascript,Html,Quote,Html Escape Characters,从一个全新的普通HTML文档开始,只使用HTML和Javascript 在上面加上超链接词“食物” 单击“食品”后,应将其替换为“肉类和蔬菜” 单击“肉”后,应将其替换为“猪肉加培根” 单击“蔬菜”后,应将其替换为“胡萝卜加豌豆” 单击“猪肉”后,应将其替换为“坚韧且耐嚼” 单击“坚韧”后,应将其替换为“烧焦且咸” (等等) 我一直在尽我所能做这件事,但我有逃避密码的问题 这是我的密码: <span id="food"><a href="#" onclick="document

从一个全新的普通HTML文档开始,只使用HTML和Javascript

在上面加上超链接词“食物”

单击“食品”后,应将其替换为“肉类和蔬菜”

单击“肉”后,应将其替换为“猪肉加培根”

单击“蔬菜”后,应将其替换为“胡萝卜加豌豆”

单击“猪肉”后,应将其替换为“坚韧且耐嚼”

单击“坚韧”后,应将其替换为“烧焦且咸”

(等等)

我一直在尽我所能做这件事,但我有逃避密码的问题

这是我的密码:

<span id="food"><a href="#" onclick="document.getElementById('food').innerHTML='<span id=\'meat\'><a href=\'#\' onclick=\'var meat = &#34;<span id=&#38;pork&#38;><a href=#\ onclick=alert(2)>pork</a></span> with bacon&#34;; document.getElementById(&#34;meat&#34;).innerHTML = meat\'>meat</a></span> and <span id=\'vegetables\'><a href=\'#\' onclick=\'var vegetables = &#34;carrots plus peas&#34;; document.getElementById(&#34;vegetables&#34;).innerHTML = vegetables\'>vegetables</a></span>'">food</a></span>
带培根的
";;document.getElementById(";meat";).innerHTML=meat\'>meat and'>food
这就是它的作用:

很抱歉,它没有空格,但会出现错误

请注意,“alert(2)”周围没有分隔符,我不知道如何让它说alert(“Hello”)

我觉得一定有一些递归的方法可以做到这一点,但我不确定


提前谢谢。特别是如果你能解决全部问题的话。

我想你正在寻找类似以下的东西:

var替换={
“食物”:“肉和蔬菜”,
“肉”:“猪肉加培根”,
“蔬菜”:“胡萝卜加豌豆”,
“猪肉”:“坚韧且耐嚼”,
“坚韧”:“焦而咸”
};
函数替换锚(a){
var elementType=“”;
var lastElementType=“”;
var target=a.innerHTML;
var替换=替换[目标];
变量词=替换。拆分(“”);
var newElement={};
对于(var i=0;i
a{
文字装饰:下划线;
颜色:蓝色;
光标:指针;
}

食物
给你,你会想到:

函数绑定(obj、evt、fnc){
//W3C模型
if(对象添加列表器){
对象添加列表器(evt,fnc,!1);
返回!0;
}
//微软模型
else if(对象附件){
返回对象附件(“on”+evt,fnc);
}
//浏览器不支持W3C或MSFT模型,继续使用传统的
否则{
evt=‘开’+evt;
if(obj[evt]=“功能”类型){
//对象已经在传统的
//让我们用我们自己的函数将其包装到另一个函数中
fnc=(函数(f1,f2){
返回函数(){
f1.应用(此,参数);
f2.应用(此,参数);
}
})(obj[evt],fnc);
}
obj[evt]=fnc;
返回!0;
}
}
String.prototype.replacement=函数(a,b){
返回这个.replace(/{([^{}]*)}/g,函数(c,d){
返回空0!=a[d]?a[d]:b?'':c
})
};
风险值数据={
食物:{肉类}和{蔬菜},
肉:{猪肉}和{牛肉},
猪肉:{坚韧}和{耐嚼},
坚韧:{烧焦的}和{咸的},
蔬菜:{胡萝卜}和{豌豆}
};
var classname='游戏可点击';
var init=函数(对象,数据){
变量模板=“{text}”;
obj.innerHTML=obj.innerHTML.replace(/{([^{}]*)}/g,函数(a,b){
返回模板。替换({
类名:数据[b]?类名:“”,
正文:b
}, !0)
});
var objects=document.getElementsByClassName('game-clickable');
对于(var i=0;i
。游戏可点击{
光标:指针;
文字装饰:下划线;
}

{食物}

哈哈,说实话,这很有趣!我很快会给你一个优雅的解决方案。它应该只替换单击的单词,而不是第一个可用的短语。我也用拇指翻了一下你的,我喜欢它。非常感谢。我会通过评论,在我的源代码中链接到此用户帐户()。