【问题标题】:can't get html td element using javascript in jsf application无法在 jsf 应用程序中使用 javascript 获取 html td 元素
【发布时间】:2009-12-30 11:47:40
【问题描述】:

在 JavaScript 中

 document.getElementById('myId');

这在 JSF 应用程序中不起作用。但是,如果我将生成的 HTML 保存在我的系统中并打开它,同样的工作。

有什么帮助吗?

【问题讨论】:

  • 我不知道这个的意义。我从现在开始做。谢谢
  • 访问您的个人资料页面stackoverflow.com/users/205505/abhishek,重新阅读您发布的所有问题并设置实际上有助于回答/解决问题/问题的答案,通过勾选大白V 在答案的左侧。还赞成实际上有价值的答案。否决错误的答案。保持正常/没有什么新添加的答案不变。

标签: javascript html jsf


【解决方案1】:

在为生成 HTML 的基于组件的 MVC 框架(如 JSF)编写 JavaScript 代码时,您不应关注基于组件的 MVC 框架的源代码,而应关注其生成的 HTML 输出

如果您无法根据源代码事先说明这一点,那么您只需在您喜欢的网络浏览器中打开该页面,然后右键单击该页面并选择查看源代码。您会看到生成的客户端 ID 前面有 UINamingContainer 组件的 ID(如 h:formh:dataTablef:subView)。如果您不为每个人指定一个 ID,您将获得一个自动生成的 ID,例如 j_id_xxxx。为了简化工作,您需要为它们指定一个 ID。例如

<h:form id="form">

另请参阅this blog article 了解更多信息和提示。 This blog article 也可能有助于进一步了解 Java/JSP/JSF 和 JavaScript 之间的墙。

【讨论】:

  • 但是对于像 或
    这样的 html 元素,生成的 html 输出中的 id 与我在源代码中给出的相同。
  • 那么你的问题出在其他地方。也许你过早地执行了 JS(在 DOM 树完全构建并加载到内存之前)。如果您打算在页面加载期间执行 JS,请挂钩 window.onload 或 body 的 onload 属性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多