【问题标题】:Get content of a div获取div的内容
【发布时间】:2013-06-27 10:07:43
【问题描述】:
<select>     
<div class="options">
              <option value="nothing">Nothing</option>
              <option value="snothing">Second Nothing</option>
      </div>
</select>

我想获取 DIV 的内容并将其打印在 javascript 中的选择器中。

$(document).ready(function () {
    var options = $('.options').html();
.
.
.
        var content = '<select>' + options + '</select>';
.
.
.

    });

我需要从 HTML 中获取选项。我创建了一个 div indise &lt;select&gt;&lt;/select&gt; 标签,因为我没有其他想法。但它不工作! 我试图将选项 var 放在 &lt;p&gt;&lt;/p&gt; 标签内,以便我可以打印它,它是“未定义”。

【问题讨论】:

  • 您不能将div 作为select 的直接子代。
  • T.J.是正确的。删除 div,将选项类放在 select 上,它会起作用。
  • 你能试着更清楚地解释一下你想要达到的目标吗?不管是什么,格式不正确的 HTML 都不是答案。
  • 但我只需要得到&lt;option&gt;content&lt;/option&gt;,没有&lt;select&gt; 标签。
  • 它正在工作!谢谢!

标签: javascript jquery html select options


【解决方案1】:

假设缺少的&gt; 是错字,则您的结构无效。 select 元素cannot have div elements as direct children.

可以这样做:

<select class="options">
    <option value="nothing">Nothing</option>
    <option value="snothing">Second Nothing</option>
</select>

然后

var options = $('.options').html();

Live Example | Live Source

【讨论】:

  • 那么您如何建议仅获取 select 中的选项?
  • @Sergiu:使用有效的结构?
  • 这是公认的答案。谢谢!我必须再等 5 分钟才能将其标记为已接受,但我会的。
【解决方案2】:

我认为你想要的是:$('select').html(options)$('select').append(options) 其中 options 是一个 html 字符串,例如"&lt;option value='1'&gt;One&lt;/option&gt;",或 jquery 元素集合,例如$('option').

【讨论】:

  • 感谢您修复内联代码元素,不知道您能做到这一点(我是新来的)。投反对票似乎很苛刻,因为我的解释应该对他有所帮助,但是哦。
【解决方案3】:

首先,删除&lt;div&gt;。它根本没有帮助你。然后,如果您只想要选项:

$("select").html(); // to get the HTML

var something = $("select options"); // to get an array of jQuery objects

【讨论】:

    猜你喜欢
    • 2021-04-15
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    相关资源
    最近更新 更多