2011-08-26 60 views
0

我希望以下文本顯示爲使用JavaScript的''test test test'「。將引號添加到javascript的值

<body> 
    <blockquote>test test test</blockquote> 
</body> 

我有以下的代碼,但它不工作

<blockquote window.onload = function test()> test test test</blockquote> 
<script type="text/javascript"> 
function test(){ 
    var a = document.getElementsByTagName(blockquote).value 
    return "a"; 
} 
</script> 
+0

'「a」'只是字符串'a',字面意思。 – pimvdb

回答

1

其中一個會爲你工作:

所有引用文字的頁面上時,所有的HTML元素都在DOM

<blockquote>test test test</blockquote> 
<blockquote>test2 test2 test2</blockquote> 
<script type="text/javascript"> 
    window.onload = function(){ 
     var bqs = document.getElementsByTagName('blockquote'); 
     for(var i = 0; i < bqs.length; i++) 
      bqs[i].innerHTML = '"'+bqs[i].innerHTML+'"'; 
    } 
</script> 
<blockquote>test3 test3 test3</blockquote> 

Example



在網頁上的所有引用文字在腳本上方

<blockquote>test test test</blockquote> 
<blockquote>test2 test2 test2</blockquote> 
<script type="text/javascript"> 
    var bqs = document.getElementsByTagName('blockquote'); 
    for(var i = 0; i < bqs.length; i++) 
     bqs[i].innerHTML = '"'+bqs[i].innerHTML+'"'; 
</script> 
<blockquote>test3 test3 test3</blockquote> 

Example



具體BLOCKQUOTE

<blockquote id="wrapinquotes">test test test</blockquote> 
<blockquote>test2 test2 test2</blockquote> 
<script type="text/javascript"> 
    var el = document.getElementById('wrapinquotes'); 
    el.innerHTML = '"'+el.innerHTML+'"'; 
</script> 
<blockquote>test3 test3 test3</blockquote> 

Example

0

不應該這是

<script type="text/javascript"> 
function test(){ 
    var element = document.getElementsByTagName("blockquote")[0]; //getElementsByTagName returns an array 
    var attr = document.createAttribute('value'); 

    attr.nodeValue = element .value; //code to set your value.. you need to escape double quotes.. 

    element .setAttributeNode(attr); 
} 

</script> 

<blockquote window.onload = function test()> test test test</blockquote> 

,如果你想,那麼你需要更改文本在蘇氨酸標籤之間使用innerHTML屬性..

function test(){ 
     var element = document.getElementsByTagName("blockquote"); 
     element.innetHTML='"'+element[0].innerHTML+'"'; 
    } 
+0

對不起,。它不能工作 – zhuanzhou

0

的原因,你的代碼不會工作,是因爲的getElementsByTagName返回所有標籤的列表,而不僅僅是一個標籤。所以你需要操縱列表(數組)。

我發現Paulpro的答案很有幫助,但沒有解釋,所以這可能有助於某人。

var bqs = document.getElementsByTagName('blockquote'); 

獲取所有blockquote標籤的列表。呼叫列表BQS

for(var i = 0; i < bqs.length; i++) 

通過列表BQS去once.And當你走這條列表:

bqs[i].innerHTML = '"'+bqs[i].innerHTML+'"'; 

對於每個項目執行該代碼。

此代碼可幫助您嘗試在列表上執行,以便在列表上的所有項目上執行。最後一行可以更改爲做其他事情,如: bqs[i].style.display = 'none';

相關問題