这将是以前多次询问的一般性问题。我问这个的原因是因为我确实在jquery中使用了现成的回调,并且它没有修改我的元素“search_input”的占位符
$( document ).ready(function() {
$("#search_input").attr('placeholder','New data that will be shown');
}
这是因为CSS在加载之前应用于id“search_input”。我已经尝试了一切,但似乎没有任何工作。
有什么想法吗?
注意:我正在使用ERSI地图处理ArcGIS Javascript到应用程序。我通过javascript加载搜索栏时会出现问题,这需要时间来加载搜索栏。但是我的html页面在加载此脚本之前调用on ready ready回调。因此,我面对这个问题。我无法解决这个问题,任何帮助都将不胜感激!
答案 0 :(得分:2)
我在我的代码中修复了这个,
search.on("load", function () {
//push all the sources
var sources = search.sources;
sources.push(addSources("ABC","ABC","eg : ABC",1));
sources.push(addSources("XYZ","XYZ","eg: XYZ",1));
search.set("sources", sources);
//Adding the placeholder here, as the search bar is loaded with sources only at this point of the execution
//Hence, we can modify the CSS only after this point.
$("#search_input").attr('placeholder','Search Tree Data');
});
您无法在代码中的任何位置修改CSS。只有在搜索栏加载了所有源时,才需要修改它。我尝试添加$ document.ready(function(){});或者在身体末端添加css。没有任何效果,因为我们在这里使用不同的JavaScript库/工具包 - Dojo。因此,我们只能根据数据的加载方式或在Dojo中调用回调的方式执行操作。而不是普通的HTML javascript到jQuery。