Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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 如何将html链接插入数组字符串?_Javascript - Fatal编程技术网

Javascript 如何将html链接插入数组字符串?

Javascript 如何将html链接插入数组字符串?,javascript,Javascript,这里有点混乱。我有一个满是问题答案的数组,我很难让链接显示为。。实际链接。我试过document.write,但它只是破坏了我的页面。有什么想法吗 this.answer = [ 'answer1' + '<a href="URL">click here</a>', 'answer 2', 'answer 3' ] this.answer=[ “回答1”+“”, “答案2”, “答案3” ] 我不知道如何编写位,使其不只是一个文本字符串而不是

这里有点混乱。我有一个满是问题答案的数组,我很难让链接显示为。。实际链接。我试过document.write,但它只是破坏了我的页面。有什么想法吗

this.answer = [
    'answer1' + '<a href="URL">click here</a>',
    'answer 2', 
    'answer 3'
]
this.answer=[
“回答1”+“”,
“答案2”,
“答案3”
]
我不知道如何编写
位,使其不只是一个文本字符串而不是HTML。有什么想法吗?我的数组也在一个影子DOM自定义HTML5元素中。我知道如何定位阴影DOM,只是不确定基本格式

谢谢! -掸

编辑:感谢您的回复,mplungjan。像这样

this.answer = [
    'answer1' + innerHTML('<a href="URL">click here</a>'),
    'answer 2', 
    'answer 3'
]
this.answer=[
“回答1”+内部HTML(“”),
“答案2”,
“答案3”
]
但是,这会使整个内容在我的页面上显示为空白。。我想我把它格式化错了

编辑2好的,根据我得到的答案尝试修复它。。我试过这个:

 var insertThis = document.getElementById('myElement').innerHTML = '<a href="#">Click here</a>';

 this.answer = [
    'answer1' + insertThis,
    'answer 2', 
    'answer 3'
]
var insertThis=document.getElementById('myElement')。innerHTML='';
这个答案=[
“回答1”+插入此项,
“答案2”,
“答案3”
]
但是它仍然使我的数组完全为空:(对不起,我对数组很陌生,这让我很困惑。)我需要将我的第一个数组项的全部放在innerHTML中,包括“answer1”位吗


编辑它说我不能将innerHTML设置为null。。但是,当我在通过id获取元素之前将元素记录在控制台上时,它会很好地记录下来。与您文章的注释一样,当您将文本放入页面的DOM中时,文本不会被处理为HTML

您需要将元素的
innerHTML
设置为数组的值,如下所示:

    var answer = [
        'answer1' + '<a href="URL">click here</a>',
        'answer 2', 
        'answer 3'
    ];

    document.getElementById("yourelement").innerHTML = answer[0];
var应答=[
“回答1”+“”,
“答案2”,
“答案3”
];
document.getElementById(“yourelement”).innerHTML=answer[0];
试试这个

var aColor = [
    '<a href="#red">red</a>',
    '<a href="#green">green</a>',
    '<a href="#blue">blue</a>'
];

var x = Math.floor(Math.random() % 3);

document.getElementById('elementId').innerHTML = aColor[x];
var aColor=[
'',
'',
''
];
var x=Math.floor(Math.random()%3);
document.getElementById('elementId')。innerHTML=aColor[x];

数组中有三个元素。每个元素包含一个字符串。每个字符串包含一个组合颜色链接的表示形式。变量“x”是数组的随机地址,(0,1,2).

您需要使用innerHTML-显示链接的显示位置更新我的问题。感谢您的回答!您需要将字符串放入某个DOM元素的
innerHTML
。此时它将被解析为HTML,并转换为链接。
innerHTML()
不是一个函数,当你试图调用它时,你不是遇到了一个错误吗?你在测试Javascript时打开了JS控制台,不是吗?你必须使用类似于
document.getElementById('answer').innerHTML=this.answer[0];