亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用JS為單選按鈕創建文本節點?

如何使用JS為單選按鈕創建文本節點?

海綿寶寶撒 2022-09-23 16:23:43
我正在嘗試使用 JavaScript 制作一個單選按鈕。使用HTML很容易,即到目前為止,使用JS,我能夠創建,但我不知道如何為它創建文本節點。另外,我想在正文的第三個div元素中附加此表單,那么它應該是DOM導航嗎?這是我的代碼:<input type="radio" name="sType" value="m">MALE<input type="radio" name="sType" value="m">MALEid='user_input'document.getElementsById('user_input').childNodes[0].appendChild(f);var f = document.createElement("form");f.setAttribute("id", "myForm");f.setAttribute('method',"post");f.setAttribute('action',"ride_test.php");var radio1 = document.createElement("input"); //input element, textradio1.setAttribute("id","radio1");radio1.setAttribute('type',"radio");radio1.setAttribute('name',"sType");radio1.setAttribute('value',"m");f.appendChild(radio1);       
查看完整描述

2 回答

?
青春有我

TA貢獻1784條經驗 獲得超8個贊

如果要向單選按鈕添加說明,則應創建一個并在此處插入無線電的說明。label


let f = document.createElement("form");


let radio1 = document.createElement("input"); //input element, text

radio1.setAttribute("id","radio1");

radio1.setAttribute('type',"radio");

radio1.setAttribute('name',"sType");

radio1.setAttribute('value',"m");


let label = document.createElement('label');

label.textContent = "MALE";

f.appendChild(radio1);

f.appendChild(label);

document.body.appendChild(f)

您也可以創建一個文本節點并在輸入后追加,但這不是推薦的選項:


//The same as above

let desc = document.createTextNode("MALE")


f.appendChild(radio1)

f.appendChild(desc);

document.body.appendChild(f)`

小提琴:https://jsfiddle.net/dpu54as9/


查看完整回答
反對 回復 2022-09-23
?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

輸入標記是自動括起來的標記,不應包含任何文本。您需要在旁邊使用標簽標簽(您可以檢查此鏈接),例如:


<input type="radio" name="sType" id="radio1" value="m"/>

<label for="radio1">MALE</label>

要在代碼中執行此操作,只需創建一個新的標簽元素,設置其文本并追加到窗體中:


var f = document.createElement("form");

f.setAttribute("id", "myForm");

f.setAttribute('method',"post");

f.setAttribute('action',"ride_test.php");



var radio1 = document.createElement("input"); //input element, text

var label1 = document.createElement("label");

// link label to input through id

label1.setAttribute("for", "radio1");

label1.innerHTML = "MALE";


radio1.setAttribute("id","radio1");

radio1.setAttribute('type',"radio");

radio1.setAttribute('name',"sType");

radio1.setAttribute('value',"m");

f.appendChild(radio1);

f.appendChild(label1);

請注意,ID 是唯一的,這意味著 DOM 上不能同時具有多個具有相同名稱的 ID。實現所需內容的最佳方法是更改為類(不是唯一的),然后追加到 DOM,如下所示:user_input


document.body.getElementsByClassName('user_input')[2].appendChild(f);


查看完整回答
反對 回復 2022-09-23
  • 2 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號