如何通过Javascript获取html列表值?

如何通过Javascript获取html列表值?,javascript,html,javascript-events,Javascript,Html,Javascript Events,我正在尝试从html列表中获取值 <ul> <li><a>Main Menu</a> <ul class="leftbutton" > <li value="List1"><a>Sampe 1</a></li> <li value="List2"><a>Sample 2</a><

我正在尝试从html列表中获取值

<ul>
    <li><a>Main Menu</a>
        <ul class="leftbutton" >
            <li value="List1"><a>Sampe 1</a></li>
            <li value="List2"><a>Sample 2</a></li>
            <li value="List3"><a>Sample 3</a></li>
            <li value="List4"><a>Sample 4</a></li>
            <li value="List5"><a>Sample 5</a></li>
        </ul>
    </li>
</ul> 

<iframe id="iframeid" width="100%" height="100%" align="middle"></iframe> 

function changeList()
{
    var iframe = document.getElementById("iframeid");  
    var url = document.getElementById("selectedlist").value + ".html"; 
    iframe.src = url;
}
  • 主菜单
      样本1 样本2 样本3 样本4 样本5
函数变更列表() { var iframe=document.getElementById(“iframeid”); var url=document.getElementById(“selectedlist”).value+“.html”; iframe.src=url; }

要从列表中获取值,我将把onClick=“changeList()”放在哪里?

您将把它放在锚标记上,因为我假设您正在单击它

您可以将其放在锚定标签上,因为我假设您正在单击它

我不能100%确定是否使用内联iframe,但您可以简单地使用

<li><a href="/path/to/html" target="myIframeId">Value</a></li>

  • 这不是有效的html 4 strict,但在transitional中是有效的,不管怎样都适用于所有浏览器。

    我不是100%确定内联iFrame,但您可以简单地使用

    <li><a href="/path/to/html" target="myIframeId">Value</a></li>
    

  • 这不是有效的html 4 strict,但对transitional是有效的,并且在所有浏览器中都能正常工作。

    这里有几点错误

  • HTML列表项(
  • )没有值
  • HTML列表没有“选定项”
  • 通过调用
    getElementById()
  • 以下是我的另一个建议:

    <ul>
      <li><a>Main Menu</a>
        <ul class="leftbutton" >
          <li><a href="List1.html" onclick="return changeList(this);">Sample 1</a></li>
          <li><a href="List2.html" onclick="return changeList(this);">Sample 2</a></li>
          <li><a href="List3.html" onclick="return changeList(this);">Sample 3</a></li>
          <li><a href="List4.html" onclick="return changeList(this);">Sample 4</a></li>
          <li><a href="List5.html" onclick="return changeList(this);">Sample 5</a></li>
        </ul>
      </li>
    </ul> 
    
    <iframe id="iframeid" width="100%" height="100%" align="middle"></iframe> 
    
    <script type="text/javascript">
    function changeList(a)
    {
      var iframe = document.getElementById("iframeid");
      iframe.src = a.href;
      return false;
    }
    </script>
    

    这里有几件事你搞错了

  • HTML列表项(
  • )没有值
  • HTML列表没有“选定项”
  • 通过调用
    getElementById()
  • 以下是我的另一个建议:

    <ul>
      <li><a>Main Menu</a>
        <ul class="leftbutton" >
          <li><a href="List1.html" onclick="return changeList(this);">Sample 1</a></li>
          <li><a href="List2.html" onclick="return changeList(this);">Sample 2</a></li>
          <li><a href="List3.html" onclick="return changeList(this);">Sample 3</a></li>
          <li><a href="List4.html" onclick="return changeList(this);">Sample 4</a></li>
          <li><a href="List5.html" onclick="return changeList(this);">Sample 5</a></li>
        </ul>
      </li>
    </ul> 
    
    <iframe id="iframeid" width="100%" height="100%" align="middle"></iframe> 
    
    <script type="text/javascript">
    function changeList(a)
    {
      var iframe = document.getElementById("iframeid");
      iframe.src = a.href;
      return false;
    }
    </script>
    

    li
    具有属性值,但该值应为整数,即点:

                 <li value="1"><a>Sampe 1</a></li>
                <li value="2"><a>Sample 2</a></li>
                <li value="3"><a>Sample 3</a></li>
                <li value="4"><a>Sample 4</a></li>
                <li value="5"><a>Sample 5</a></li>
    
    样本1 样本2
  • 样本3
  • 样本4
  • 样本5

  • li
    具有属性值,但该值应为整数,即点:

                 <li value="1"><a>Sampe 1</a></li>
                <li value="2"><a>Sample 2</a></li>
                <li value="3"><a>Sample 3</a></li>
                <li value="4"><a>Sample 4</a></li>
                <li value="5"><a>Sample 5</a></li>
    
    样本1 样本2
  • 样本3
  • 样本4
  • 样本5

  • 单击列表,我想将html页面加载到iframe中(而不是打开新的html页面)。单击列表,我想将html页面加载到iframe中(而不是打开新的html页面)。目标是框架名称,而不是ID(而且iFrame也不是严格的,因此需要使用target属性并不重要。您的目标是帧名称,而不是ID(而且iFrame也不是很严格,所以需要使用target属性并不重要。两种解决方案都有效:-D。我更喜欢带有target属性的无javascript解决方案。很高兴听到。这是在任何情况下都更具可移植性的解决方案。两种解决方案都有效:-D。我更喜欢带有target属性的无javascript解决方案。很好r、 在任何情况下,这都是更具可移植性的解决方案。