Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.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 请帮我写这个简单的脚本_Javascript_For Loop_Getelementsbytagname - Fatal编程技术网

Javascript 请帮我写这个简单的脚本

Javascript 请帮我写这个简单的脚本,javascript,for-loop,getelementsbytagname,Javascript,For Loop,Getelementsbytagname,我是JavaScript新手,想就我的简单脚本寻求一些帮助 我试图做的是在(for)循环的帮助下检索并显示无序列表中所有列表项元素的值。我能够让脚本在警报窗口中逐个显示所有列表项。但问题是我需要所有列表元素的值以表格行的方式显示。像这样: 星期一 星期二 星期三 以下是我脚本中的内容: <script language="JavaScript"> <!-- function process() { a = document.getElementsByT

我是JavaScript新手,想就我的简单脚本寻求一些帮助

我试图做的是在(for)循环的帮助下检索并显示无序列表中所有列表项元素的值。我能够让脚本在警报窗口中逐个显示所有列表项。但问题是我需要所有列表元素的值以表格行的方式显示。像这样:

星期一
星期二
星期三

以下是我脚本中的内容:

<script language="JavaScript">
<!--
    function process() {
        a = document.getElementsByTagName('li')

        for (i = 0; i < a.length; i++) {
            alert(a[i].childNodes[0].nodeValue);
        }
    }
//-->
</script>

下面是HTML代码:

<body>
    <ul>
        <li>Monday</li>
        <li>Tuesday</li>
        <li>Wednesday</li>
    </ul>

    <input type="button" value="Submit" onclick="process()" />
</body>

  • 星期一
  • 星期二
  • 星期三
如果有可能的话,请任何人也解释一下我的剧本哪里错了?为什么所有3个列表项值不能同时显示在警报窗口中


非常感谢

首先,创建一个字符串变量:
var all\u at\u once=”“
。然后,添加
节点值的内容。最后,警告此变量:

function process(){
    var a = document.getElementsByTagName('li')
    var all_at_once = "";
    for(i=0;i<a.length;i++){
        all_at_once += a[i].childNodes[0].nodeValue + " ";
    }
    alert(all_at_once);
}
函数过程(){
var a=document.getElementsByTagName('li')
var all_u1;at_u1;once=“”;
对于(i=0;i


如果需要一个包含所有文本的弹出窗口,则只需调用一次警报。

警报反复显示,因为这是
for
循环的功能…它循环!循环将迭代
getElementsByTagName
返回的元素数组,对该数组中的每个元素执行一次循环体

如果要显示一个警报,一个选项是建立一个包含适当文本的字符串,然后
alert
it:

var yourString = "";
for(i=0;i<a.length;i++){
    yourString += a[i].childNodes[0].nodeValue;
}
alert(yourString);
函数过程()
{
var a=getElementsByTagName('li'),
文本='';
对于(i=0;i
您可以用任何方式处理这些天,方法是先将它们存储在数组中,然后迭代:

var days = new Array();
var a = document.getElementsByTagName('li')
for(var i = 0; i < a.length; i++) {
    days.push(a[i].childNodes[0].nodeValue);
}

for (i=0; i < days.length; i++) {
    // process the day
}
var days=new Array();
var a=document.getElementsByTagName('li')
对于(变量i=0;i

请参阅:了解一个工作示例。

对函数进行的这些调整应该会产生您想要的结果。祝您好运! 更改内容:1)设置一个空字符串变量2)不要通知每个值,只需将它们附加到您先前创建的字符串变量3)最后,通知新创建的(连接的)字符串

函数过程(){
a=document.getElementsByTagName('li');
变量天数=新字符串(“”);
对于(i=0;i

现在我看到,自从打开此线程以来,已经有了大量的答案……但可能所有不同的解决方案都会以不同的方式帮助您。

如果没有示例代码,我无法提供帮助。您希望表格中的行或列与您的列表类似吗?它现在解析出了什么?@Kris问题的格式不正确;代码现在是v保存结果,通过循环将所有值串联在一个变量中,然后在“for循环”之外,写下变量的内容,会有你所有的无序列表。你所有的答案都很棒!非常感谢你帮助我解决这个问题!我正要提出再学习javascript的想法:)我现在会再试一次谢谢!
function process(){
    var a = document.getElementsByTagName('li'),
        yourString = "";
    for(i=0;i<a.length;i++){
        yourString += a[i].childNodes[0].nodeValue;
    }
    alert(yourString);
}
function process()
{
  var a = getElementsByTagName('li'),
      text = '';

  for( i = 0; i < a.length; i++ )
  {
    text += a[i].childNodes[0].nodeValue + '\n';
  }

  alert( text );
}
var days = new Array();
var a = document.getElementsByTagName('li')
for(var i = 0; i < a.length; i++) {
    days.push(a[i].childNodes[0].nodeValue);
}

for (i=0; i < days.length; i++) {
    // process the day
}
function process() {
    a = document.getElementsByTagName('li');
    var days = new String("");

    for (i = 0; i < a.length; i++) {
        days = days+(a[i].childNodes[0].nodeValue)+"\n";
    }
    alert(days);
}