JQuery样式不适用于通过Javascript加载的表
我试图选择任何包含特定文本字符串的元素,并将其背景色设置为黄色。在我的示例中,javascript会影响HTML表,但似乎不会影响通过javascript加载的表。我试着把脚本放在最后/让脚本最后运行,但我似乎无法理解这一点 小提琴:JQuery样式不适用于通过Javascript加载的表,javascript,html,Javascript,Html,我试图选择任何包含特定文本字符串的元素,并将其背景色设置为黄色。在我的示例中,javascript会影响HTML表,但似乎不会影响通过javascript加载的表。我试着把脚本放在最后/让脚本最后运行,但我似乎无法理解这一点 小提琴: var tableId=“9OD4Y” var x=document.createElement(“脚本”);x、 type=“text/javascript”;x、 异步=真; x、 src=”http://www.sheetstotables.com/get
var tableId=“9OD4Y”
var x=document.createElement(“脚本”);x、 type=“text/javascript”;x、 异步=真;
x、 src=”http://www.sheetstotables.com/get_table.js";
var s=document.getElementsByTagName(“脚本”)[0];s、 parentNode.insertBefore(x,s);
赛义德
赛义德
国
阿尔弗雷德·福特基斯特
玛丽亚·安德斯
德国
莫特祖马商业中心
张锦松
墨西哥
恩斯特·汉德尔
罗兰·孟德尔
GK
$(文档).ready(函数(){
$(“.windowbg td:contains(GK)”).css(“背景色”、“黄色”);
});
问题在于,在加载表之前执行脚本。解决方案是让脚本等待加载表,以便使用setTimeout函数,如下所示:
$(document).ready(function(){
setTimeout(function() {
$("td:contains(GK)").css("background-color", "yellow");
}, 3000)
});
发生这种情况是因为您执行的是异步任务,如果您编写以下代码:
$(document).ready(function(){
$("td:contains(GK)").css("background-color", "yellow");
console.log($("td:contains(GK)").length) //It will print 1
setTimeout(function(){
console.log($("td:contains(GK)").length) //It will print 10
},1000)
});
您可以在“xmlhttp.onreadystatechange”函数中对其进行编码,它将正常工作
$("td:contains(GK)").css("background-color", "yellow");
非常感谢你!我一直渴望找到解决办法!
$("td:contains(GK)").css("background-color", "yellow");