我目前正在使用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对生成的部分应用一些操作。但是由于条件而不是由JSP生成的div部分的id由Javascript使用,它生成一个错误。我怎么设计这个?“
感谢。
答案 0 :(得分:1)
您可以通过javascript检查元素是否存在以避免错误:
if($('#someID').length > 0)) {
$('#someID').html( ..... )
}
答案 1 :(得分:1)
您只需检查
即可if($('#someID')) {
.. do this..
}
或
if(document.getElementById('someId')){
..do this...
}