0

我目前正在使用 HTML/CSS、JSP/Servlet 和 Javascript 实现一个网站。JSP 控制应该根据会话值生成页面的哪个部分(例如,取决于用户当前是否登录),并且 Javascript 对生成的文档的元素(例如,div 部分)有一些操作.

但是,当由于 JSP 代码中的条件未生成 div 部分时,我遇到了使用 Javascript 中的文档 div id 值的问题。

例如,一个页面有两个部分,其中只有一个部分将根据会话值条件从 JSP 生成。还有一个 Javascript 文件,其中包含一组函数,可使用 div 标签或其子标签的“id”应用于每个部分。但是由于 JSP 不会生成所有的部分,因此 Javascript 使用的一些“id”在返回的 HTTP 请求中不存在。下面的代码片段显示了一个示例。JSP 文件如下。

<script src="script.js"></script>
...
<%
  if(some condition) {
%>
    <div id="someID"></div>

如下所示,script.js 有一些函数应用于“someID”以发出一些 html 并对其应用操作。但是如果不满足 JSP 条件,则 someID 将不存在,从而产生使用未识别 id 的 Javascript 错误。

$function() {
  $('#someID').html( ..... )
}

这个问题相当冗长,但简单地说,“我想有条件地从 JSP 生成 HTML 的某些部分,并使用 Javascript 对生成的部分应用一些操作。但是 div 部分的 id 不是从 JSP 生成的,因为Javascript 使用了该条件,这会产生错误。我该如何设计这个?

谢谢。

4

2 回答 2

1

您可以简单地通过 javascript 检查元素是否存在以避免错误:

if($('#someID').length > 0)) {
    $('#someID').html( ..... )
}
于 2013-08-21T11:07:50.807 回答
1

您可以简单地检查

if($('#someID')) {
  .. do this..
}

或者

if(document.getElementById('someId')){
 ..do this...
}
于 2013-08-21T11:21:55.970 回答