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

时间:2014-10-03 20:27:43

标签: javascript

这里有点困惑。我有一个数组,其中充满了问题的答案,并且无法将链接显示为......实际链接。我已经尝试过document.write,但它只是打破了我的页面。有什么想法吗?

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

我不知道如何编写<a href="URL">click here</a>位以使其不仅仅显示为一串文本而不是HTML。有任何想法吗?我的数组也是一个Shadow DOM自定义HTML5元素。我知道如何定位影子DOM,只是不确定基本格式..

谢谢! - 山

编辑:感谢您的回复,mplungjan。喜欢这个?

this.answer = [
    'answer1' + innerHTML('<a href="URL">click here</a>'),
    'answer 2', 
    'answer 3'
]

这会使我的页面上的整个内容显示为空白,但是..认为我格式化错误

编辑2 好的尝试根据我得到的答案修复它...我试过了:

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

 this.answer = [
    'answer1' + insertThis,
    'answer 2', 
    'answer 3'
]

但它仍然使我的数组完全空白:(对不起,我对数组很新,这对我来说很混乱..我是否需要将整个第一个数组项放在innerHTML中,包括'answer1'位?

编辑它说我无法设置null的innerHTML ..但是当我在我通过id获取元素之前控制记录我的元素时它会记录它很好..嗯

2 个答案:

答案 0 :(得分:3)

与您帖子的评论一样,当您将文字放入网页的DOM中时,该文字不会被处理为HTML。

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

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

    document.getElementById("yourelement").innerHTML = answer[0];

答案 1 :(得分: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];

数组中有三个元素。每个元素包含一个字符串。每个字符串都包含各种颜色的链接表示。变量&#39; x&#39;是数组的随机地址,(0,1,2)。