您好,我正在嘗試在我的專案中的兩個單獨的 div 上輸出我的函式,但是如果我只是輸出相同的內容,我會取消整個代碼并將此處的輸出設為空,這里的輸出就是代碼。
<script>
function randomSSSSSString() {
//initialize a variable having alpha-numeric characters
var charssssss = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
//specify the length for the new string to be generated
var sssssstring_length = 10;
var randomsssssstring = '';
//put a loop to select a character randomly in each iteration
for (var i=0; i<sssssstring_length; i ) {
var rrrrrrnum = Math.floor(Math.random() * charssssss.length);
randomsssssstring = charssssss.substring(rrrrrrnum,rrrrrrnum 1);
}
//display the generated string
document.getElementById("rrrrrrandomfield").innerHTML = randomsssssstring;
}
</script>
然后在我使用的身體上
<body onload="randomSSSSSString();">
<div>
<p id="rrrrrrandomfield"></p>
</div>
</body>
問題是我想在頁面上輸出相同的字串但在不同的 div 上可能在頁腳但如果我繼續添加
<body onload="randomSSSSSString();">
<div>
<p id="rrrrrrandomfield"></p>
</div>
<hr>
<footer>
<p id="rrrrrrandomfield"></p>
</footer>
</body>
在同一頁面上,它取消整個代碼并使輸出無效。我如何解決這個問題我幾乎不了解 Js
uj5u.com熱心網友回復:
我認為您可以通過創建p具有相同 id 的動態標簽來解決這個問題。varjavascript 中沒有資料型別將其更改為let.
function randomString() {
let characters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
let randnum = document.getElementById("randnum")
let stringLength = 10;
let tempRandomString = '';
for (let i = 0; i < stringLength; i ) {
let randNum = Math.floor(Math.random() * characters.length);
tempRandomString = characters.substring(randNum, randNum 1);
}
for (var i = 0; i < 2; i ) {
const elem = document.createElement(`p`);
elem.id = tempRandomString;
elem.innerText= tempRandomString;
randnum.appendChild(elem);
}
}
<html>
<title>Web Page</title>
<head>
</head>
<body onload="randomString();">
<div id="randnum">
</div>
</body>
</html>
uj5u.com熱心網友回復:
發生這種情況是因為您多次使用相同的“ id ”,這是無效的。
您可以將id改為 class,并且可以使用querySelectorAll回圈遍歷由該類組成的每個元素以顯示您的結果。
function randomSSSSSString() {
//initialize a variable having alpha-numeric characters
var charssssss = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
//specify the length for the new string to be generated
var sssssstring_length = 10;
var randomsssssstring = '';
//put a loop to select a character randomly in each iteration
for (var i=0; i<sssssstring_length; i ) {
var rrrrrrnum = Math.floor(Math.random() * charssssss.length);
randomsssssstring = charssssss.substring(rrrrrrnum,rrrrrrnum 1);
}
//display the generated string
var i_want_show_here = document.querySelectorAll(".rrrrrrandomfield")
Array.prototype.forEach.call(i_want_show_here, function(el) {
el.innerHTML = randomsssssstring
});
}
<body onload="randomSSSSSString();">
<div>
<p class="rrrrrrandomfield"></p>
</div>
<hr>
<footer>
<p class="rrrrrrandomfield"></p>
</footer>
</body>
uj5u.com熱心網友回復:
您id在兩個領域都使用相同的方法。您必須指定不同的 id 才能讓它們作業:
function randomSSSSSString() {
//initialize a variable having alpha-numeric characters
var charssssss = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
//specify the length for the new string to be generated
var sssssstring_length = 10;
var randomsssssstring = '';
//put a loop to select a character randomly in each iteration
for (var i = 0; i < sssssstring_length; i ) {
var rrrrrrnum = Math.floor(Math.random() * charssssss.length);
randomsssssstring = charssssss.substring(rrrrrrnum, rrrrrrnum 1);
}
//display the generated string
document.getElementById("rrrrrrandomfield").innerHTML = randomsssssstring;
document.getElementById("rrrrrrandomfield2").innerHTML = randomsssssstring;
}
<body onload="randomSSSSSString();">
<div>
<p id="rrrrrrandomfield"></p>
</div>
<hr>
<footer>
<p id="rrrrrrandomfield2"></p>
</footer>
</body>
uj5u.com熱心網友回復:
這是因為您使用了id="rrrrrrandomfield"兩次。您只能使用一次唯一 ID。改用然后也使用
document.getElementsByClassName("rrrrrrandomfield").innerHTML = randomsssssstring;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/381388.html
標籤:javascript html
