javascript - 在grails gsp标签中输入一个jquery句子
问题描述
当我尝试在 grails<g:link>
标记中使用 jQuery 语句时出现多重编译错误
var ul = $("#authorList > ul");
ul.append('<li><g:link action="show" controller="author" id="'+$('#authorID').val()+'">+'+$('#authorField').val()+'</g:link></li>')
我只在 id="" 属性中遇到 jquery 错误,用这个
ul.append('<li><g:link action="show" controller="author" id="">+'+$('#authorField').val()+'</g:link></li>')
该页面正在运行,但我无法获取动态链接,它的语法如何正确?
URI:/ComplexTables/book/create Class
org.codehaus.groovy.control.MultipleCompilationErrorsException
消息:启动失败:19:美元符号后的字符串主体字符非法;解决方案:要么转义文字美元符号 "\$5",要么将值表达式 "${5}" @ line 19, column 210. l()\'"', 35, it) { return "'+$(' #authorI ^ 1 个错误
grails-app\views\book_form.gsp 的第 35 行左右
function appendAuthor(ev) {
34: var ul = $("#authorList > ul");
35: ul.append('<li><g:link action="show" controller="author" id="'+$('#authorID').val()'">+'+$('#authorField').val()+'</g:link></li>')
36: }
37:</script>
解决方案
我不知道 GSP 但一般 ID 不能以数字开头。
"使用除 ASCII 字母、数字、'_'、'-' 和 '.' 之外的字符。可能会导致兼容性问题,因为它们在 HTML 4 中是不允许的。尽管在 HTML 5 中取消了此限制,但 ID 应以字母开头以确保兼容性。”
如果你只使用 DOM getElementById() 方法而不是 jQuery 不是更好吗
ul.append('<li><g:link action="show" controller="author" id="sth_'+document.getElementById('authorID').value+'">+'+document.getElementById('authorID').value+'</g:link></li>')
推荐阅读
- postgresql - 超出堆栈深度限制 PostgreSQL 插入触发器
- c# - C# ReadAsync 程序挂起 - 死锁
- react-native - React Native Context调度删除当前屏幕(项目)导致渲染错误
- javascript - 猫鼬子文档数组不保存整个对象?
- maven - Gradle - 生成源代码并编译
- outlook - Outlook Web 加载项部署
- python - ValueError:检查输入时出错:预期 lstm_16_input 有 3 个维度,但得到的数组形状为 (836, 400, 3, 1)
- python - 为什么我的线程锁不能正常工作?
- javascript - 将信息从 Javascript 函数传递到表单
- python - Dash 允许下载 Excel Linux ubuntu