Javascript 如何在返回值中换行?还是返回HTML的更好方法?
我试图在showPhoto()函数中创建一个换行符,但似乎没有任何效果。我尝试过使用br,尝试过使用html(),但仍然没有改变。Javascript代码中的注释显示了我所说的返回行。 如果有更好的方法来达到我想要的结果 感谢您的帮助。 谢谢 JS:Javascript 如何在返回值中换行?还是返回HTML的更好方法?,javascript,jquery,html,Javascript,Jquery,Html,我试图在showPhoto()函数中创建一个换行符,但似乎没有任何效果。我尝试过使用br,尝试过使用html(),但仍然没有改变。Javascript代码中的注释显示了我所说的返回行。 如果有更好的方法来达到我想要的结果 感谢您的帮助。 谢谢 JS: 在输出中使用标记(将其视为HTML片段): jQUery将解析HTML字符串并为您处理实际的DOM节点创建。您不能在TextNode(由createTextNode创建)中添加换行符 见此: 一种解决方案是让您的showPhoto函数返回不同行的
在输出中使用
标记(将其视为HTML片段):
jQUery将解析HTML字符串并为您处理实际的DOM节点创建。您不能在TextNode(由createTextNode创建)中添加换行符 见此: 一种解决方案是让您的
showPhoto
函数返回不同行的文本列表,并创建几个由“br”节点分隔的文本节点
本着以下精神:
this.showPhoto = function() {
// How do i create line breaks here?? I want each sub heading on a different line.
return ["Country : " + this.photoCountry,
"Location : " + this.photoLocation, ...]
}
然后(可能在行上使用迭代器,任何可能包装DOM元素以取悦jquery)
您可以像
li{
float:left;
padding:5px; /* or anything you need */
margin-top:10px; /* or anything you need */
}
这是您的HTML
<ul>
<li> <img src='images/newzealand.jpg' class='photoImg' id='photo1'> </li>
<li> <img src='images/singapore.jpg' class='photoImg' id='photo2'> </li>
<li> <img src='images/vancouver.jpg' class='photoImg' id='photo3'> </li>
<li> <img src='images/newzealand2.jpg' class='photoImg' id='photo4'> </li>
<li> <img src='images/mornington.jpg' class='photoImg' id='photo5'> </li>
<li> <img src='images/newzealand1.jpg' class='photoImg' id='photo6'> </li>
<li> <img src='images/newzealand3.jpg' class='photoImg' id='photo7'> </li>
</ul>
您没有在写文本。您正在编写html。使用正确的html元素和css来实现您的目标。
this.showPhoto = function() {
// How do i create line breaks here?? I want each sub heading on a different line.
return ["Country : " + this.photoCountry,
"Location : " + this.photoLocation, ...]
}
var lines = textNodeArray[this.id].showPhoto())
$('#textContainer').append(document.createTextNode(lines[0]);
$('#textContainer').append(document.createElement("br"));
$('#textContainer').append(document.createTextNode(lines[1]);
..
li{
float:left;
padding:5px; /* or anything you need */
margin-top:10px; /* or anything you need */
}
<ul>
<li> <img src='images/newzealand.jpg' class='photoImg' id='photo1'> </li>
<li> <img src='images/singapore.jpg' class='photoImg' id='photo2'> </li>
<li> <img src='images/vancouver.jpg' class='photoImg' id='photo3'> </li>
<li> <img src='images/newzealand2.jpg' class='photoImg' id='photo4'> </li>
<li> <img src='images/mornington.jpg' class='photoImg' id='photo5'> </li>
<li> <img src='images/newzealand1.jpg' class='photoImg' id='photo6'> </li>
<li> <img src='images/newzealand3.jpg' class='photoImg' id='photo7'> </li>
</ul>