我正在尝试将 DOM 元素中的文本添加到 onclick 函数中。所以文本将是一个参数
我试过了
$("body").append(
"<input type='submit' value='Submit Answers' onclick=displayImages(" +
$('#hidden_number').text() + ");'>")
但这给了我 $('#hidden_number').text()
作为 undefined ,但是如果我运行 $('#hidden_number').text()
从控制台我得到一个值。
这样就不能传递参数了吗?
更多代码
html 页面如下所示
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="core/js/self_control.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("body").append( "<input type='submit' value='Submit Answers' onclick=displayImages( $('#hidden_number').text());'>");
});
</script>
<label for="subID">Subject ID:</label>
<input type="text" id="subID" name="subID"/>
<br><br>
<div> Please enter your subject </div>
<br>
<body>
</body>
文件 self_control.js 具有 displayImages 函数
function displayImages(number){
$('body').toggleClass('blackBody'); // set the color of the expr background to black
console.log(number)
}
我加载页面和隐藏数组的数字的方式是:
function loadQuestionForm(number){
$.get("core/questionForm0.html", function(data) {
$("body").html(data);
var next_img = number + 1 ;
console.log(next_img);
$("body").append("<div id='hide_nubmer' style='display: none;'>"+ next_img +"</div>")
});
最佳答案
你可以这样做:
$("body").append("<input type='submit' value='Submit Answers' onclick=displayImages(" + $('#hidden_number').text() + ");>")
function displayImages(arg) {
console.log(arg);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="hidden_number">5</div>
关于javascript - 将变量从 dom 元素传递到 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48369757/