我有一个函数可以转换HTML元素并将其转换为变量。我不能使用ParseInt()或ParseFloat(),因为它们被设计为使用字符串 我不介意使用像Jquery这样的第三方库。
var myFunction = function() {
var myopt1 = ("#myopt1").innerHTML;
var myopt2 = ("#myopt2").innerHTML;
var result = myopt1 + myopt2;
document.getElementById("result").innerHTML = result;
};
<span id="myopt1">12</span>+<span id="myotp2">12 = <span id = "result"></span>
<br/>
<button onclick="myFunction()">Do Math
答案 0 :(得分:1)
您显然对与$config['enable_hooks'] = TRUE;
或$config['enable_hooks'] = FALSE;
相关的某些内容存在误解。 parseInt()
属性返回一个字符串,parseFloat()
或.innerHTML
将获取该字符串并将其转换为数字。如果您尝试在两个DOM元素上进行数字匹配,那么这正是您需要做的。
另外,声明:
parseInt()
不起作用。在普通的Javascript中,您可以使用:
parseFloat()
工作片段:
("#myopt1").innerHTML
&#13;
document.getElementById("myopt1").innerHTML
&#13;
错误摘要:
var myFunction = function() {
var myopt1 = parseFloat(document.getElementById("myopt1").innerHTML);
var myopt2 = parseFloat(document.getElementById("myopt2").innerHTML);
var result = myopt1 + myopt2;
document.getElementById("result").innerHTML = result;
};
不起作用。 <span id="myopt1">12</span>+<span id="myopt2">12</span> = <span id="result"></span>
<br/>
<button onclick="myFunction()">Do Math
是一个DOM属性,因此您需要先获取DOM元素才能使用它。您可以使用("#myopt1").innerHTML
获取ID的HTML元素。.innerHTML
或document.getElementById()
将字符串转换为数字。parseInt()
在您的HTML中被拼错了。parseFloat()
以将第二个数字括在您的span标记中。答案 1 :(得分:0)
所以,你有多个问题
1)在你的HTML中,&#34; myopt2&#34;被误解为&#34; myotp2&#34;
2)你的myopt2跨度的内部html是&#34; 12 =&#34;不是&#34; 12&#34;
3)您未正确使用jQuery样式文档查询
4)你必须使用parseFloat()或parseInt()将innerHTML转换为数字,以进行加法而不是字符串连接
Here is a working codepen that uses jquery
HTML:
<span id="myopt1">12</span>+<span id="myopt2">12</span> = <span id = "result"></span>
做数学
JS:
var myFunction = function() {
var myopt1 = parseFloat($("#myopt1").html());
var myopt2 = parseFloat($("#myopt2").html());
var result = myopt1 + myopt2;
$('#result').html(result);
};