javascript阅读<a> tags</a>之间的内容

时间:2012-05-04 06:52:07

标签: javascript javascript-events

以下是我的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然后将其附加到...那么我的代码不会进入。否则直接抛出警报。任何人都帮我。非常紧急

2 个答案:

答案 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