Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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_Jquery_Html - Fatal编程技术网

Javascript 如何在返回值中换行?还是返回HTML的更好方法?

Javascript 如何在返回值中换行?还是返回HTML的更好方法?,javascript,jquery,html,Javascript,Jquery,Html,我试图在showPhoto()函数中创建一个换行符,但似乎没有任何效果。我尝试过使用br,尝试过使用html(),但仍然没有改变。Javascript代码中的注释显示了我所说的返回行。 如果有更好的方法来达到我想要的结果 感谢您的帮助。 谢谢 JS: 在输出中使用标记(将其视为HTML片段): jQUery将解析HTML字符串并为您处理实际的DOM节点创建。您不能在TextNode(由createTextNode创建)中添加换行符 见此: 一种解决方案是让您的showPhoto函数返回不同行的

我试图在showPhoto()函数中创建一个换行符,但似乎没有任何效果。我尝试过使用br,尝试过使用html(),但仍然没有改变。Javascript代码中的注释显示了我所说的返回行。 如果有更好的方法来达到我想要的结果

感谢您的帮助。 谢谢

JS:


在输出中使用

标记(将其视为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>