คำถามติดแท็ก dom

Document Object Model (DOM) เป็นวิธีการทางโปรแกรมโดยอ้างถึงองค์ประกอบของภาษามาร์กอัปเช่น XML และ HTML ใช้กับ [javascript] หรือภาษาโปรแกรมอื่น ๆ ที่มีเครื่องมือแยกวิเคราะห์ DOM

9
แยกสตริง HTML ด้วย JS
ฉันค้นหาวิธีแก้ปัญหา แต่ไม่มีอะไรเกี่ยวข้องดังนั้นนี่คือปัญหาของฉัน: ฉันต้องการแยกสตริงที่มีข้อความ HTML ฉันต้องการที่จะทำใน JavaScript ฉันลองใช้ห้องสมุดนี้แต่ดูเหมือนว่ามันจะแยกวิเคราะห์ HTML ของหน้าปัจจุบันของฉันไม่ใช่จากสตริง เพราะเมื่อฉันลองโค้ดด้านล่างมันจะเปลี่ยนชื่อหน้าของฉัน: var parser = new HTMLtoDOM("<html><head><title>titleTest</title></head><body><a href='test0'>test01</a><a href='test1'>test02</a><a href='test2'>test03</a></body></html>", document); เป้าหมายของฉันคือการแยกลิงค์จากหน้าภายนอก HTML ที่ฉันอ่านเหมือนกับสตริง คุณรู้จัก API ที่จะทำหรือไม่?


11
จะแก้ไข C: \ fakepath ได้อย่างไร?
<input type="file" id="file-id" name="file_name" onchange="theimage();"> นี่คือปุ่มอัพโหลดของฉัน <input type="text" name="file_path" id="file-path"> นี่คือช่องข้อความที่ฉันต้องแสดงเส้นทางแบบเต็มของไฟล์ function theimage(){ var filename = document.getElementById('file-id').value; document.getElementById('file-path').value = filename; alert(filename); } นี่คือ JavaScript ที่แก้ปัญหาของฉัน แต่ในการแจ้งเตือนค่าให้ฉัน C:\fakepath\test.csv และ Mozilla ให้ฉัน: test.csv แต่ฉันต้องการท้องถิ่นเส้นทางของไฟล์ที่มีคุณสมบัติครบถ้วน วิธีแก้ปัญหานี้? หากนี่เป็นเพราะปัญหาด้านความปลอดภัยของเบราว์เซอร์แล้ววิธีอื่นควรทำเช่นไร?



30
คุณจะตรวจสอบว่าวัตถุ JavaScript เป็นวัตถุ DOM ได้อย่างไร
ฉันพยายามที่จะได้รับ: document.createElement('div') //=> true {tagName: 'foobar something'} //=> false ในสคริปต์ของตัวเองฉันเคยใช้สิ่งนี้เพราะฉันไม่ต้องการtagNameทรัพย์สิน: if (!object.tagName) throw ...; ดังนั้นสำหรับวัตถุที่สองฉันจึงคิดวิธีแก้ปัญหาอย่างรวดเร็วซึ่งส่วนใหญ่ใช้งานได้ ;) ปัญหาคือขึ้นอยู่กับเบราว์เซอร์ที่บังคับใช้คุณสมบัติอ่านอย่างเดียวซึ่งไม่ได้ทำทั้งหมด function isDOM(obj) { var tag = obj.tagName; try { obj.tagName = ''; // Read-only for DOM, should throw exception obj.tagName = tag; // Restore for normal objects return false; } catch (e) { …
248 javascript  dom  object 

15
วิธีการใช้การเชื่อมโยงข้อมูล DOM ใน JavaScript
โปรดปฏิบัติต่อคำถามนี้เพื่อการศึกษาอย่างเคร่งครัด ฉันยังคงสนใจที่จะรับฟังคำตอบและแนวคิดใหม่ ๆ TL; DR ฉันจะใช้การเชื่อมโยงข้อมูลแบบสองทิศทางกับ JavaScript ได้อย่างไร การเชื่อมโยงข้อมูลกับ DOM โดยข้อมูลผูกพันกับ DOM ผมหมายถึงตัวอย่างเช่นมีวัตถุ JavaScript กับทรัพย์สินa bจากนั้นให้มี<input>องค์ประกอบ DOM (ตัวอย่าง) เมื่อองค์ประกอบ DOM เปลี่ยนแปลงaการเปลี่ยนแปลงและในทางกลับกัน (นั่นคือฉันหมายถึงการผูกข้อมูลแบบสองทิศทาง) นี่คือแผนภาพจาก AngularJS เกี่ยวกับสิ่งที่ดูเหมือนว่า: ดังนั้นโดยทั่วไปฉันมี JavaScript คล้ายกับ: var a = {b:3}; จากนั้นองค์ประกอบอินพุท (หรือรูปแบบอื่น ๆ ) เช่น: <input type='text' value=''> ฉันต้องการให้ค่าของอินพุทเป็นค่าa.bของ (เช่น) และเมื่อข้อความที่ป้อนเข้าเปลี่ยนแปลงฉันก็ต้องการa.bเปลี่ยนเช่นกัน เมื่อมีa.bการเปลี่ยนแปลงใน JavaScript อินพุตจะเปลี่ยนไป คำถาม อะไรคือเทคนิคพื้นฐานในการทำให้สำเร็จใน JavaScript ธรรมดา? …

5
จะหาผู้ปกครองที่มีคลาสที่รู้จักใน jQuery ได้อย่างไร?
ฉันมีสิ่ง<div>นั้นที่มีอยู่มากมาย<div>ภายในแต่ละตัวในระดับการซ้อนที่แตกต่างกัน แทนที่จะให้<div>ตัวระบุเด็กทุกคนฉันแค่ให้รูท<div>ตัวระบุ นี่คือตัวอย่าง: <div class="a" id="a5"> <div class="b"> <div class="c"> <a class="d"> </a> </div> </div> </div> ถ้าฉันเขียนฟังก์ชั่นใน jQuery เพื่อตอบสนองต่อชั้นเรียนdและฉันต้องการค้นหา ID สำหรับผู้ปกครองชั้นเรียนaฉันจะทำอย่างไร ฉันไม่สามารถทำเพียง$('.a').attr('id');เพราะมีหลายระดับas ฉันสามารถค้นหา ID ผู้ปกครองของผู้ปกครอง แต่ดูเหมือนว่าการออกแบบไม่ดีช้าและไม่ polymorphic มาก (ฉันจะต้องเขียนรหัสที่แตกต่างกันสำหรับการค้นหา ID สำหรับชั้นเรียนc)
244 javascript  jquery  html  dom  parent 

9
วิธีการตั้งองค์ประกอบ DOM เป็นลูกคนแรก?
ฉันมีองค์ประกอบ E และฉันจะผนวกองค์ประกอบบางอย่างเข้าด้วยกัน ทันใดนั้นฉันก็พบว่าองค์ประกอบต่อไปควรเป็นลูกคนแรกของ E กลอุบายคืออะไรทำอย่างไร? วิธีการยกเลิกการเปลี่ยนไม่ทำงานเนื่องจาก E เป็นวัตถุไม่ใช่อาร์เรย์ ทางยาวจะเป็นการย้ำลูกของรางน้ำ E และเพื่อย้ายปุ่ม'em ++ แต่ฉันแน่ใจว่ามีวิธีที่สวยกว่า

7
ตรวจจับการเปลี่ยนแปลงใน DOM
ฉันต้องการเรียกใช้งานฟังก์ชั่นเมื่อมีการเพิ่ม div หรือ input ใน html เป็นไปได้ไหม ตัวอย่างเช่นการป้อนข้อความจะถูกเพิ่มจากนั้นฟังก์ชั่นควรจะเรียกว่า

3
การทำให้เป็นมาตรฐานใน DOM การแยกวิเคราะห์ด้วย java - มันทำงานอย่างไร
ฉันเห็นบรรทัดด้านล่างในรหัสสำหรับตัวแยกวิเคราะห์ DOM ที่บทช่วยสอนนี้ doc.getDocumentElement().normalize(); ทำไมเราถึงทำสิ่งนี้ให้เป็นมาตรฐาน? ฉันอ่านเอกสารแต่ไม่เข้าใจคำ วางโหนดข้อความทั้งหมดในระดับความลึกเต็มของทรีย่อยที่อยู่ใต้โหนดนี้ โอเคแล้วมีคนแสดงให้ฉันดู (ต้นไม้น่าจะดีกว่า) ต้นไม้ชนิดนี้เป็นอย่างไร ทุกคนสามารถอธิบายได้ไหมว่าทำไมต้องมีการปรับสภาพให้เป็นมาตรฐาน? จะเกิดอะไรขึ้นถ้าเราไม่ทำให้ปกติ

17
ฉันจะปรับขนาดเนื้อหาของ iframe ได้อย่างไร
ฉันจะปรับขนาดเนื้อหาของ iframe ได้อย่างไร (ในตัวอย่างของฉันคือหน้า HTML และไม่ใช่ป๊อปอัป) ในหน้าเว็บไซต์ของฉัน ตัวอย่างเช่นฉันต้องการแสดงเนื้อหาที่ปรากฏใน iframe ที่ 80% ของขนาดดั้งเดิม
237 html  css  dom 

4
อะไรคือ offsetHeight, clientHeight, scrollHeight?
ความคิดของการอธิบายสิ่งที่เป็นความแตกต่างระหว่างoffsetHeight, clientHeightและscrollHeightหรือoffsetWidth, clientWidthและscrollWidth? เราจะต้องรู้ความแตกต่างนี้ก่อนที่จะทำงานกับฝั่งลูกค้า มิฉะนั้นครึ่งหนึ่งของชีวิตของพวกเขาจะถูกใช้ในการแก้ไข UI ซอหรืออินไลน์ด้านล่าง: function whatis(propType) { var mainDiv = document.getElementById("MainDIV"); if (window.sampleDiv == null) { var div = document.createElement("div"); window.sampleDiv = div; } div = window.sampleDiv; var propTypeWidth = propType.toLowerCase() + "Width"; var propTypeHeight = propType + "Height"; var computedStyle = window.getComputedStyle(mainDiv, null); var borderLeftWidth = …

10
ฉันจะเรียงลำดับรายการตามตัวอักษรโดยใช้ jQuery ได้อย่างไร
ฉันค่อนข้างลึกที่นี่และฉันหวังว่ามันจะเป็นไปได้จริง ฉันต้องการที่จะสามารถเรียกฟังก์ชั่นที่จะเรียงลำดับรายการทั้งหมดในรายการของฉันตามลำดับตัวอักษร ฉันดู jQuery UI สำหรับการเรียงลำดับ แต่ดูเหมือนจะไม่เป็นเช่นนั้น ความคิดใด ๆ

5
วิธีที่ดีที่สุดในการรับโหนดย่อย
ฉันสงสัยว่า JavaScript มีวิธีการมากมายเพื่อให้ได้องค์ประกอบลูกแรกจากองค์ประกอบใด ๆ แต่สิ่งใดที่ดีที่สุด โดยที่ดีที่สุดฉันหมายถึง: เบราว์เซอร์ที่เข้ากันได้มากที่สุดเร็วที่สุดครอบคลุมที่สุดและคาดเดาได้เมื่อมีพฤติกรรม รายการของวิธีการ / คุณสมบัติที่ฉันใช้เป็นนามแฝง: var elem = document.getElementById('container'); var child = elem.children[0]; var child = elem.firstElementChild; // == children[0] ใช้ได้กับทั้งสองกรณี: var child = elem.childNodes[0]; // or childNodes[1], see below นั่นคือในกรณีของรูปแบบหรือ<div>การทำซ้ำ หากฉันอาจพบองค์ประกอบข้อความ: var child = elem.childNodes; // treat as NodeList var child = elem.firstChild; เท่าที่ผมสามารถทำงานออกfirstChildใช้ …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.