我有一个写一个城镇描述的功能。我想在div中显示它。但是,当我尝试这个时,它将文本放在 div之后,而不是放在它里面。
因此它显示div和文本,但不显示div中的文本。以下是最相关的部分(跳过几个不相关的部分):
#description { height: 50px; background-color: #A7DBD8; }
<div id="description"></div>
function town () { document.write("You are in the town of ",placevals[playerlocation][0],"<br>"); }
$("#description").appendTo(town());
我已尝试使用.html
并替换div,但也没有效果。 (例如'<div id="blue"'>+town()+'</div>'
)
我可能只是愚蠢,但任何帮助都会非常感激。
答案 0 :(得分:2)
你有一个没有返回值的town
函数,然后你将调用它的结果(undefined
)传递给appendTo
(希望你通过在选择器或元素中。)
如果您的目标是将town
生成的文字附加到#description
div
,那么:
function town () {
// Return the text, and use `+` to concatenate strings
return "You are in the town of " + placevals[playerlocation][0] + "<br>";
}
// Use `append`
$("#description").append(town());
答案 1 :(得分:0)
document.write正在将文本输出到文档中。您的函数应该返回一个值,然后您可以使用.html()来正确解释<br>
以及您想要的文本。
答案 2 :(得分:0)
您还应该将文本作为字符串返回,然后可以使用.html()
函数将其注入div元素。
//Assuming these variables are defined.
var placevals = {}
placevals['newyork'] = 'New York';
playerlocation = 'newyork'
function town () {
return 'You are in the town of ' + placevals[playerlocation] + '.';
}
$("#description").html(town('newyork'));