【问题标题】:Cannot set the value of paragraph as a new variable无法将段落的值设置为新变量
【发布时间】:2019-04-16 11:59:08
【问题描述】:

我正在尝试获取段落的值并将其设置为 var / const / let

我试图获取段落值的代码

<p id="serial_number">232323323232</p>

这行得通:

$('#serial_number').html();

返回值

"232323323232"

但是当我试图将结果存储为 var:

var number = $('#serial_number').html();

返回值

"undefined"

如何实现这个结果?

var number = 232323323232

【问题讨论】:

  • 试试.text() ..

标签: javascript jquery html reactjs


【解决方案1】:

您很可能在执行异步操作,这将使 jQuery 返回 undefined,因为它还没有访问 DOM 节点的权限。在这里工作,所以我建议你检查一下:

  1. 当你调用它时
  2. 您的依赖项是最新的
  3. 如果 p 标签在服务器上呈现并作为结果发送到客户端。

如果结果呈现在服务器上,您可以使用 Mutation Observer (https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver) 观察标签,直到内容呈现在其中,然后更新它。类似于 jQuery 中的document.ready 的工作方式,但它会等到标签发生变化。

https://codepen.io/evenstensberg/pen/oOoMmV#0

【讨论】:

  • 现在我可以通过 $(document).ready(function(){ setTimeout(function(){ },4000); });这是唯一的方法吗?
  • 没有。为此,您应该使用突变观察器来等待 p 标签加载到 DOM 中。作为我提供的链接给出
【解决方案2】:

要将其设为数字​​,请使用 textparseInt

var number = parseInt($("#serial_number").text());
console.log(number);
console.log(typeof number);
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<p id="serial_number">232323323232</p>

【讨论】:

  • 不,不是 - 按@Ratna 上方的Run code snippet
【解决方案3】:

试试.innerHTML

var number = $('#serial_number').innerHTML;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 2020-02-19
    • 2019-06-07
    相关资源
    最近更新 更多