javascript - 如何将 html id 更改为变量 Laravel
问题描述
我有这段 html 代码行,<span id="mycount"></span>
它显示数据库中的实时数据(数字),所以假设它显示数据库中的 5。我想要做的是使用这样的 if 语句@if(5 > 0)
。那么是否有可能将其更改id="mycount"
为变量或任何其他方式以便我可以使用 if 语句?
html
<span id="mycount"></span> //This displays 5
我想要这样的东西
@if(5 >0)
//display data
@else
@endif
Javascript
function getCount() {
$.ajax({
type: "GET",
url: '{{route('live.review')}}',
success: function(data) {
$('#mycount').html(data);
setTimeout(getCount, 1000);
}
});
}
getCount();
解决方案
您可能不想使用刀片来处理这种情况,因为您在前端使用 ajax 来控制 DOM 的这个组件。我将在您的情况下使用的替代方法是:
const axios = require('axios');
async function getCount() {
try {
const data = axios.get('{{route('live.review')}}');
const elCount = document.getElementById('#mycount');
if (data > 0) {
// const elText = document.createTextNode(data);
// elCount.appendChild(elText);
elCount.style.visibility = 'visible';
elCount.innerHTML(data);
return;
}
elCount.style.visibility = 'hidden';
} catch (e) {
window.console.error('Error! ', e.message);
}
}
setTimeout(getCount, 1000);
使用 Ajax
function getCount() {
jQuery.ajax({
type: 'GET',
url: '{{ route("live.review") }}',
success: (data) => {
const elCount = jQuery('#myCount');
if (data > 5) {
elCount.html(data);
elCount.show();
return;
}
elCount.hide()
},
error: (error) => {
window.console.error('Error! ', error.message)
},
});
}
setTimeout(getCount, 1000)
确保请求的返回总是好的,因此,为了保证,每次发出请求时,都将请求结果记录在日志中以作保证window.console.log(data)
(当然是在开发环境中!)
推荐阅读
- java - 清单 7.15 - LogService - 实践中的 Java 并发 - 尝试添加带有超时的等待终止
- python-3.x - 运行后 SessionRunHook 返回空的 SessionRunValues
- android - SQL 数据库未正确排序到 ListView
- c++ - _cdecl 和 __cdecl 有区别吗
- video - 获取 VMAF 指标以及 PSNR 等其他指标
- reactjs - Meteor Admin 用户未访问所有用户集合
- c++ - C++ Xcode 库 - 未声明的 math.h 功能
- ios - 如何区分何时使用通知启动应用程序与仅通过通知将应用程序带到前台
- swift - 计算有多少自定义注释被添加到 mapView swift 4
- list - Tcl/sh:从嵌套列表中返回元素?