我接受了面试的编码挑战,我想看看是否有任何好的行动者可以帮我看看我哪里出错了。我甚至无法理解被问到的一般性问题所以我想知道是否有人有同感。这是整个问题:
HTML的简化版本可以通过使用数组来表示元素来表示:
[tagName, child1, child2, ...]
•标记名称始终是数组中的第一个条目,并且是一个字符串。 •子项可以是数组或字符串。 •如果子项是字符串,则将其视为纯文本,而不是HTML标记。 •如果子节点是数组,则将其视为嵌套元素。 •不支持属性,注释等,只支持元素和文本。 实现一个JavaScript函数,它接受一个数组并生成HTML字符串。 •空标签应该是自动关闭的。 •在完成的输出中合并连续的文本节点。 •没有库,构建过程或转换器。 例子:
['div'] => '<div/>'
['h1', 'Text'] => '<h1>Text</h1>'
['span', 'More', 'Text'] => '<span>MoreText</span>'
['a', ['b', 'More'], ' Text'] => '<a><b>More</b> Text</a>'
['p', '<b>Text</b>'] => '<p><b>Text</b></p>'
我的回答如下:
<html>
<head>
<title>title here</title>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="keywords" content="">
<style>
div{
background: yellow;
}
</style>
</head>
<body>
<section>
<h1>I am a <br>header</h1>
<p id="demo"></p>
<div></div>
</section>
<script>
document.getElementById("demo").innerHTML =
"The title of this document is: " + document.title;
</script>
<script>
var wrapper = document.createElement(&#34; div&#34;);
wrapper.appendChild( document.createTextNode("Part 1 ") );
wrapper.appendChild( document.createTextNode("Part 2 ") );
// At this point, wrapper.childNodes.length === 2
wrapper.childNodes[0].textContent === "Part 1 "
wrapper.childNodes[1].textContent === "Part 2 "
wrapper.normalize();
// Now, wrapper.childNodes.length === 1
wrapper.childNodes[0].textContent === "Part 1 Part 2 "
</script>
</body>
</html>
我确实看到我的文字没有合并;但我以为我遵循了其余的要求。我发现这些要求有点难以理解。非常感谢任何评论。
答案 0 :(得分:0)
所以我认为问题是问你
div
hey
p paragraph p
div