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

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

3
ความแตกต่างระหว่าง document.addEventListener และ window.addEventListener
ในขณะที่ใช้ PhoneGap มีโค้ด JavaScript เริ่มต้นที่ใช้document.addEventListenerแต่ฉันมีรหัสของตัวเองซึ่งใช้window.addEventListener: function onBodyLoad(){ document.addEventListener("deviceready", onDeviceReady, false); document.addEventListener("touchmove", preventBehavior, false); window.addEventListener('shake', shakeEventDidOccur, false); } อะไรคือความแตกต่างและใช้แบบไหนดีกว่ากัน?



15
แนวทางปฏิบัติที่ดีที่สุด: เข้าถึงองค์ประกอบของฟอร์มด้วยรหัส HTML หรือแอตทริบิวต์ชื่อ?
ดังที่นักพัฒนา JavaScript ผู้ช่ำชองรู้ดีว่ามีหลายวิธี (มากเกินไป) ในการทำสิ่งเดียวกัน ตัวอย่างเช่นสมมติว่าคุณมีช่องข้อความดังนี้: <form name="myForm"> <input type="text" name="foo" id="foo" /> มีหลายวิธีในการเข้าถึงสิ่งนี้ใน JavaScript: [1] document.forms[0].elements[0]; [2] document.myForm.foo; [3] document.getElementById('foo'); [4] document.getElementById('myForm').foo; ... and so on ... วิธีการ [1] และ [3] ได้รับการบันทึกไว้อย่างดีในเอกสารของ Mozilla Gecko แต่ไม่เหมาะอย่างยิ่ง [1] กว้างเกินไปที่จะเป็นประโยชน์และ [3] ต้องใช้ทั้ง ID และชื่อ (สมมติว่าคุณจะโพสต์ข้อมูลเป็นภาษาฝั่งเซิร์ฟเวอร์) ตามหลักการแล้วจะเป็นการดีที่สุดที่จะมีเพียงแอตทริบิวต์ id หรือแอตทริบิวต์ name (การมีทั้งสองอย่างค่อนข้างซ้ำซ้อนโดยเฉพาะอย่างยิ่งถ้า id ไม่จำเป็นสำหรับ …
141 javascript  html  forms  dom 


8
ฉันจะได้รับแจ้งเมื่อมีการเพิ่มองค์ประกอบในหน้าได้อย่างไร
ฉันต้องการฟังก์ชั่นที่ฉันเลือกที่จะทำงานเมื่อเพิ่มองค์ประกอบ DOM ลงในหน้า นี่เป็นบริบทของส่วนขยายเบราว์เซอร์ดังนั้นหน้าเว็บจึงทำงานโดยอิสระจากฉันและฉันไม่สามารถแก้ไขแหล่งที่มาได้ ตัวเลือกของฉันที่นี่มีอะไรบ้าง ฉันเดาว่าในทางทฤษฎีแล้วฉันสามารถใช้setInterval()เพื่อค้นหาการปรากฏตัวขององค์ประกอบอย่างต่อเนื่องและดำเนินการของฉันถ้าองค์ประกอบนั้นอยู่ที่นั่น แต่ฉันต้องการแนวทางที่ดีกว่า

10
ฉันจะตรวจสอบองค์ประกอบ html ที่หายไปจาก DOM เมื่อโฟกัสหายไปได้อย่างไร
ฉันกำลังพยายามตรวจสอบคุณสมบัติ CSS จากอินพุตลงในเซลล์ตาราง ข้อมูลที่ป้อนจะปรากฏขึ้นเมื่อคลิกและหายไปเมื่อโฟกัสหายไปเหมือนตอนที่ฉันพยายามตรวจสอบ ฉันจะทำอย่างไรเพื่อไม่ให้โฟกัสหายไปในขณะที่ฉันย้ายไปที่หน้าต่างอื่น (ตัวตรวจสอบ)
137 html  css  dom 

2
รับองค์ประกอบในตำแหน่งที่ระบุ - JavaScript
การใช้ Javascript ฉันจะระบุองค์ประกอบในตำแหน่งที่กำหนดได้อย่างไร โดยพื้นฐานแล้วฉันต้องการเขียนฟังก์ชันที่รับพารามิเตอร์อินพุตสองตัว (พิกัด x และ y) และส่งคืนองค์ประกอบ html ที่ตำแหน่งบนหน้าจอที่แสดงโดยพารามิเตอร์
135 javascript  html  dom 

5
querySelector องค์ประกอบสัญลักษณ์แทนตรงกันหรือไม่
มีวิธีในการจับคู่องค์ประกอบชื่อตัวแทนโดยใช้querySelectorหรือquerySelectorAllไม่ ฉันเห็นการสนับสนุนสัญลักษณ์แทนในแบบสอบถามแอททริบิว แต่ไม่ใช่สำหรับองค์ประกอบเอง เอกสาร XML ที่ฉันพยายามวิเคราะห์นั้นเป็นรายการคุณสมบัติโดยทั่วไปและฉันต้องการค้นหาองค์ประกอบที่มีสตริงบางอย่างในชื่อของพวกเขา ฉันรู้ว่าเอกสาร XML น่าจะต้องมีการปรับโครงสร้างหากฉันต้องการสิ่งนี้ แต่นั่นก็ไม่ได้เกิดขึ้น วิธีการแก้ปัญหาใด ๆ ยกเว้นกลับไปใช้ XPath ที่เห็นได้ชัดว่าเลิก (IE9 ลดลง) เป็นที่ยอมรับ

5
การรวบรวมสตริง HTML แบบไดนามิกจากฐานข้อมูล
สถานการณ์ ซ้อนอยู่ภายในแอป Angular ของเราเป็นคำสั่งที่เรียกว่า Page ซึ่งได้รับการสนับสนุนโดยคอนโทรลเลอร์ซึ่งมี div ที่มีแอตทริบิวต์ ng-bind-html-unsafe สิ่งนี้ถูกกำหนดให้กับ $ scope var ที่เรียกว่า 'pageContent' ตัวแปรนี้ได้รับการกำหนด HTML ที่สร้างขึ้นแบบไดนามิกจากฐานข้อมูล เมื่อผู้ใช้พลิกไปที่หน้าถัดไปจะมีการเรียกไปยังฐานข้อมูลและ pageContent var ถูกตั้งค่าเป็น HTML ใหม่นี้ซึ่งจะแสดงผลบนหน้าจอผ่าน ng-bind-html-unsafe นี่คือรหัส: คำสั่งเพจ angular.module('myApp.directives') .directive('myPage', function ($compile) { return { templateUrl: 'page.html', restrict: 'E', compile: function compile(element, attrs, transclude) { // does nothing currently return { …

6
nodeValue กับ innerHTML และ textContent วิธีการเลือก?
ฉันใช้ js ธรรมดาเพื่อแก้ไขข้อความภายในขององค์ประกอบป้ายกำกับและฉันไม่แน่ใจว่าเหตุใดฉันควรใช้ innerHTML หรือ nodeValue หรือ textContent ฉันไม่จำเป็นต้องสร้างโหนดใหม่หรือเปลี่ยนองค์ประกอบ HTML หรืออะไรเลย - เพียงแค่แทนที่ข้อความ นี่คือตัวอย่างของรหัส: var myLabel = document.getElementById("#someLabel"); myLabel.innerHTML = "Some new label text!"; // this works myLabel.firstChild.nodeValue = "Some new label text!"; // this also works. myLabel.textContent = "Some new label text!"; // this also works. ฉันดูแหล่งที่มา jQuery และใช้ …

2
ความแตกต่างระหว่าง window.location.href, window.location.replace และ window.location.assign
อะไรคือความแตกต่างระหว่าง window.location.href="http://example.com"; window.location.replace("http://example.com"); window.location.assign("http://example.com"); ฉันอ่านในฟอรัมหลายแห่งที่window.location.assign()เพิ่งแทนที่ประวัติเซสชันปัจจุบันและด้วยเหตุนี้ปุ่มย้อนกลับของเบราว์เซอร์จะไม่ทำงาน อย่างไรก็ตามฉันไม่สามารถทำซ้ำสิ่งนี้ได้ function fnSetVariable() { //window.location.href = "http://example.com"; window.location.replace("http://example.com"); //window.location.assign("http://example.com"); } <a onmouseover="fnSetVariable();" href="PageCachingByParam.aspx?id=12" > CLICK </a>
129 javascript  dom  location 

7
ฉันจะสร้างลิงค์โดยใช้จาวาสคริปต์ได้อย่างไร?
ฉันมีสตริงสำหรับหัวเรื่องและสตริงสำหรับลิงก์ ฉันไม่แน่ใจว่าจะรวมทั้งสองเข้าด้วยกันเพื่อสร้างลิงก์บนหน้าเว็บโดยใช้ Javascript ได้อย่างไร ขอความช่วยเหลือใด ๆ EDIT1: การเพิ่มรายละเอียดให้กับคำถาม เหตุผลที่ฉันพยายามหาสิ่งนี้เป็นเพราะฉันมีฟีด RSS และมีรายการชื่อและ URL ฉันต้องการเชื่อมโยงชื่อกับ URL เพื่อทำให้หน้านี้มีประโยชน์ แก้ไข 2: ฉันใช้ jQuery แต่ยังใหม่กับมันมากและไม่รู้ว่ามันจะช่วยได้ในสถานการณ์นี้

8
ฉันจะสลับคลาสขององค์ประกอบใน JavaScript บริสุทธิ์ได้อย่างไร
ฉันกำลังมองหาวิธีแปลงโค้ด jQuery (ซึ่งใช้ในส่วนเมนูตอบสนอง) เป็น JavaScript แท้ หากใช้งานได้ยากก็สามารถใช้กรอบ JavaScript อื่นได้ $('.btn-navbar').click(function() { $('.container-fluid:first').toggleClass('menu-hidden'); $('#menu').toggleClass('hidden-phone'); if (typeof masonryGallery != 'undefined') masonryGallery(); });
128 javascript  dom  toggle 

16
ฉันจะนับบรรทัดข้อความภายในองค์ประกอบ DOM ได้อย่างไร ให้ฉัน?
ฉันสงสัยว่ามีวิธีนับเส้นใน div หรือไม่ สมมติว่าเรามี div ดังนี้: <div id="content">hello how are you?</div> Div อาจมีหนึ่งหรือสองบรรทัดหรือสี่บรรทัดก็ได้ทั้งนี้ขึ้นอยู่กับหลายปัจจัย มีวิธีใดสำหรับบทที่จะรู้? กล่าวอีกนัยหนึ่งการหยุดพักอัตโนมัติแสดงใน DOM หรือไม่
127 javascript  html  dom 

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