JavaScript - 在函数内连接 2 个参数不起作用

标签 javascript html angularjs

我正在尝试将 2 个数字解析为函数 saveQuestion 函数的参数,但它不起作用。

$("#questionRow")
.append('<input type="submit" class="btn btn-default" id="saveQuestion'
        + addSectionCount + '" value="Save question ' 
        + addSectionCount + '" onclick="saveQuestion(' 
        + addOpSectionCount + '\',\'' addSectionCount + ')" ></div>');

最佳答案

如果您只是使用 jQuery 来注册一个适当的回调函数而不是使用 90 年代风格的内联事件处理程序,那么它会不那么脆弱并完全避免这个问题:

$('<input type="submit" />')
    .attr('id', 'saveQuestion' + addSectionCount)
    .val('Save question ' + addSectionCount)
    .on('click', function() {
        saveQuestion(addOpSectionCount, addSectionCount);
    })
    .appendTo('#questionRow')'

另请注意 jQuery 函数的其他用途,以避免在 HTML 字符串中使用字符串连接。

注意:我已经反转了 append这样链式.on调用适用于新创建的元素,不适用于 #questionRow .

注意 2:我通常会使用 $('<el>', {id: ..., val: ...})但是 MSIE 的 ISTR(曾经?)输入元素的语法存在问题。

关于JavaScript - 在函数内连接 2 个参数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36084840/

相关文章:

javascript - 在 Seriously.js 中调整相机显示大小

javascript - playframework 选择帮助器过滤选项或基于另一个选择的设置选项

javascript - GET http://127.0.0.1:8000/dist/bundle.js net::ERR_ABORTED 404 (Not Found),尽管编译成功。(vuejs+django webapp)

java - 使用 javax.xml.parsers.DocumentBuilder 解析网页时出现 fatal error

java - 如何在java中的webservices中返回json作为响应

javascript - jQuery 仅在鼠标未按住一定时间(以毫秒为单位)时才运行函数

jquery - 响应式平铺叠加图库

jquery - 可从中间选择链接

javascript - 如何在 Angular JS 中将特定的 div 文本复制到剪贴板

javascript - AngularJS 在指令模板中使用 Canvas