我正在转换我们与门户 (Liferay) 一起使用的旧 jQuery 版本 1.2.6 代码。以前我们使用 livequery 插件将事件添加到动态添加的 DOM 对象中。现在这是 jQuery 内置的一个特性(on() 函数)。我已经想通了。
然而,livequery 中还有一个特性允许我们在加载时修改这些动态加载的对象(即不绑定到某些事件):
$(".myTextBox").livequery(function() { $(this).val("initial value"); });
当 ajax portlet 加载到我们的门户中时,我不控制代码,因此我无法在创建时修改内容。
我尝试了几件事无济于事。这是我认为可以工作的一个,但没有。我将 jQuery 添加到我的 portlet 以便它加载到 portlet HTML 的底部,并将 jQuery 添加到文件中。
<footer-portlet-javascript>myscript.js</footer-portlet-javascript>
...
$(document).ready(function() {
$(".myTextBox").val("initial value");
});
这行不通。如果我写一个 alert($(".myTextBox")) 它显示一个对象,但 alert($(".myTextBox").val()) 是未定义的。
关于我如何开始工作的任何想法?