2013-03-09 35 views
1

我在我的網頁上有一個標題,我想限制爲一定數量的字符。 標題用於博文,因此標題更改。這是我想要完成的內容。使用javascript substring指定字符長度

<body> 

    <script> 
    var x= document.getElementById("entry-title"); 
    document.write(x.substring(0,10)); 
    <script> 

    <h1 id="entry-title">This is a sample blog title</h1> 

</body> 
+0

不會'x.innerText = x.substring(0,10);'做你想要的嗎? – evanmcdonnal 2013-03-09 00:32:13

+2

在Firefox中使用'innerText'將會失敗。可以使用jQuery或其他庫來涵蓋這些差異,或者使用'textContent'而不是'innerText'來檢測特徵。 – cspotcode 2013-03-09 00:37:13

回答

0

嘗試

<body> 

    <script> 
    window.onload = 
    function(){ 
    var x= document.getElementById("entry-title"); 
    x.innerText = x.innerText.substring(0,10); 
    } 
    </script> 




    <h1 id="entry-title">This is a sample blog title</h1> 



</body> 

有與jQuery代碼

<html> 
<head> 
<script src="http://code.jquery.com/jquery-1.9.1.min.js" ></script> 
</head> 
<body> 

    <script> 

     $(document).ready(

     function(){ 
      var text = $("#entry-title").text(); 
      var x= $("#entry-title").text(text.substring(0,10)); 
     } 
    ); 
    </script> 

    <h1 id="entry-title">This is a sample blog title</h1> 

</body> 
</html> 
+0

謝謝!這很好。 – user1813416 2013-03-11 03:09:36

1
<h1 id="entry-title">This is a sample blog title</h1> 
<script> 
(function() { 
    var el = document.getElementById("entry-title"), 
     supportedProp = el.textContent != null ? 'textContent' : 'innerText'; 

    el[supportedProp] = el[supportedProp].substring(0, 10); 
}()); 
</script> 

Demo

你必須要麼把你想要的元素下面的腳本[R參照或推遲執行DOMContentLoaded或窗口load事件處理程序。

此外,W3C標準屬性是textContent而不是IE的專有(並通過Chrome)innerText屬性。因此,如果您想同時支持Firefox和IE,則需要執行一些功能檢測。 Chrome接受任一屬性。