【问题标题】:Append HTML input with value="' + variable + '" is not giving me the correct value用 value="' + variable + '" 附加 HTML 输入没有给我正确的值
【发布时间】:2017-02-27 14:11:54
【问题描述】:

我有一个如下所示的表(使用 PHP(来自 mySQL 的数据)创建):

<table class="data-table">
  <tbody>
    <tr>
      <td class="databasecontent">maybe some values</td>
      <td class="databasecontent">maybe empty</td>
    </tr>
    <tr>
      <td class="databasecontent">another row</td>
      <td class="databasecontent"></td>
    </tr>
  </tbody>
</table>

然后我得到一个列表,我希望将内容附加到:

<ul class="plannerlist" id="plannerlist2">
</ul>

(我总共得到了 6 个&lt;ul&gt;id="plannerlist1, 2, ...")。
所以我希望 .databasecontent:nth-child(1) 中的文本使用这个 JS 附加到 ul#plannerlist1

var database1 = $("td.databasecontent:nth-child(1)").text;
$("ul#plannerlist1:visible").append('<input type="text" readonly value="' + database1 + '">');

var database2 = $("td.databasecontent:nth-child(2)").text;
$("ul#plannerlist2:visible").append('<input type="text" readonly value="' + database2 + '">');

and so on...

我认为 jQuery 应该可以工作,但它只是给我一个输入值:

function (a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)}

我的代码有什么问题?

【问题讨论】:

    标签: javascript jquery html mysql


    【解决方案1】:

    您应该使用.text() 而不是使用.text,如果您没有做错任何事情,它将完美运行。

    【讨论】:

    • 如果它对您有帮助,请接受答案并投票支持他人。
    • @TobiasGlaus 这并不好笑,答案需要解释的是text 是来自jQuery api 的方法,因为方法是它们需要运行才能返回任何内容的函数。
    • 不,一点都不好笑。我想说的是,我有时会深入搜索。然后就像缺少 &gt; }() 一样。我知道 jQuery .text() 方法需要这些括号。
    【解决方案2】:

    通过使用 var database2 = $("td.databasecontent:nth-child(2)").text; 您返回函数 text 本身,而不是它的结果。试试var database2 = $("td.databasecontent:nth-child(2)").text();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-03
      • 1970-01-01
      • 2018-12-06
      相关资源
      最近更新 更多