-3
我需要编写一个缩写大于10个字母的单词代码,如下所示:localiztion - > l10n。我用JavaScript来做到这一点,但NaN错误。javascript NaN问题
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Way Too Long Words</title>
</head>
<body>
<input type="text">
<button>abbreviate</button>
<div id="result"></div>
<script>
var word = document.querySelector('input').value.split('');
document.querySelector("button").onclick = function() {
"use strict";
var theResult = word[0] + word.slice(1, -1).length + word[word.length - 1];
document.getElementById("result").innerHTML = theResult;
};
</script>
</body>
</html>
如何克服这个问题
我试图将js放在一个单独的文件中,并将其命名为html文件,其中包含代码: var word = document.querySelector('input') 。值; document.querySelector(“button”)。onclick = function(){ “use strict”; var theResult = word [0] + word.slice(1,-1).length + word [word.length - 1]; (word.length> 10){document.getElementById(“result”)。innerHTML = theResult; } }; –
@MohamedMahmoudElkassas将代码拆分为单独的文件不会改变它的运行方式,但是对于大块代码来说,这是一个很好的习惯。你已经解决了第2个问题,但使用该页面的人可能不知道为什么他们看不到结果(这可能是也可能不是你的问题,我不知道)。你还没有解决问题1 - 定义'word'的代码行需要在你的点击处理函数中,否则你只能设置一次'word'的值,而不是每次单击该按钮时。 – Timespace