问题:
我需要在strong标签中获得数字65。
我尝试了下面的代码,但它显示了Uncaught ReferenceError。
(我是一个新手,我花了几个小时来创建以下代码,但最终像这样…)
你能让我知道如何解决这个问题吗?
Code I tried:
<script type="text/javascript">
jQuery(document).ready(function ($) {
var getnum;
getnum = $('div.elementor-widget-container p > strong').text();
<?php $abc = "<script>document.write(getnum)</script>"?>
});
</script>
<?php echo $abc;?>
控制台错误:
Uncaught ReferenceError: getnum is not defined
HTML(代码来自一个ywith point & reward插件):
<div class="elementor-element elementor-element-c1d0790 elementor-widget elementor-widget-text-editor" data-id="c1d0790" data-element_type="widget" id="pointsid" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<p>Your credit is <strong>65</strong> Points</p>
</div>
</div>
你把javascript
和php
混在一起了。您可以将变量从服务器端(即php
)传递到客户端(即javascript
),但不是反过来!至少在没有使用ajax
的情况下不会在同一页面上。你可以用ajax
来做,但这里不用ajax
。但是,这里有一些技巧,不建议用于生产。
值得一提的是,你的问题并没有明确你为什么要那样做。
你不会得到任何错误,如果你这样写你的代码:
<script type="text/javascript">
jQuery(document).ready(function($) {
let getnum = $('div.elementor-widget-container p > strong').text();
console.log(getnum);
});
</script>
将在控制台中显示65
。但是,您希望使用php
回显它。
下面的"技巧"不建议用于生产:
- 您可以使用"localStorage"为了存储您的值并再次检索它!
- 你可以使用"cookies"太!
你的代码应该是这样的:
<script type="text/javascript">
jQuery(document).ready(function($) {
let getnum = $('div.elementor-widget-container p > strong').text();
localStorage.setItem("getnum", getnum);
});
</script>
<?php echo "<script>document.write(localStorage.getItem('getnum'));</script>"; ?>
将65
返回到使用php
的页面上!
让我知道,如果这是你在寻找什么!
测试和工作正常!
Getnum是在加载文档时定义的。当你访问getnum时,它还没有被声明。