以下是我的html页面:
<html>
<head>
<title>My Cat website</title>
</head>
<script type="text/javascript" src="script12.js"></script>
<body>
<h1>
<a href="http://www.petwebsite.com/cats.asp" id="message">My_first_cat_website</a>
</h1>
</body>
</html>
以下是我的javascript:
window.onload=initall;
function initall()
{
var ans=document.getElementsByTagName('a')[0].firstChild.data;
alert(ans);
if(ans<10)
{
alert(ans);
}
var newans=ans.subString(0,9)+"...";
}
如果block.my要求是如果var“ans”长度大于10然后将其附加到...那么我的代码不会进入。否则直接抛出警报。任何人都帮我。非常紧急
答案 0 :(得分:0)
我从未听说过DOM元素上的data
属性。感谢您,我了解到它是textNode
元素的属性(与nodeValue
相同)。
此外,当ID可用时使用getElementsByTagName
是无法执行的。
subString
不起作用,它是substring
。这个案例对于方法非常重要,因为javascript区分大小写(就像大多数编程语言一样)。
你遗失的另一件事是else
。在您的代码中,var newans...
将始终运行。
这是有效的方法:
window.onload = function() {
var ans = document.getElementById( 'message' ).textContent;
if ( ans.length < 10 ) {
alert( ans );
}
else {
var newans = ans.substring( 0, 9 ) + '...';
}
}
答案 1 :(得分:0)
以下是使用data
属性
的window.onload = initall;
function initall()
{
var ans=document.getElementsByTagName('a')[0].firstChild.data;
if(ans.length<10)
{
alert("hmmm.. its less then 10!");
}
var newans= ans.substring(0,9)+"...";
document.getElementsByTagName('a')[0].firstChild.data = newans;
}
以下是您明智地查看示例的实时视图:http://jsbin.com/obeleh