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

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

6
ฉันจะเรียกใช้คำสั่งหลังจากที่ Dom เสร็จสิ้นการแสดงผลได้อย่างไร
ฉันมีปัญหาที่ดูเหมือนง่ายและไม่ชัดเจน(โดยการอ่านโซลูชันAngular JS docs) ฉันมีคำสั่ง Angular JS ที่ทำการคำนวณบางอย่างตามความสูงขององค์ประกอบ DOM อื่น ๆ เพื่อกำหนดความสูงของคอนเทนเนอร์ใน DOM สิ่งที่คล้ายกับสิ่งนี้เกิดขึ้นภายในคำสั่ง: return function(scope, element, attrs) { $('.main').height( $('.site-header').height() - $('.site-footer').height() ); } ปัญหาคือเมื่อคำสั่งทำงาน$('site-header')ไม่พบส่งคืนอาร์เรย์ว่างแทนที่จะเป็นองค์ประกอบ DOM ที่ห่อหุ้ม jQuery ที่ฉันต้องการ มีการเรียกกลับที่ฉันสามารถใช้ภายในคำสั่งของฉันซึ่งทำงานหลังจากโหลด DOM แล้วเท่านั้นและฉันสามารถเข้าถึงองค์ประกอบ DOM อื่น ๆ ผ่านแบบสอบถามสไตล์ตัวเลือก jQuery ปกติได้หรือไม่

4
ความแตกต่างระหว่างเหตุการณ์ "เปลี่ยนแปลง" และ "อินพุต" สำหรับองค์ประกอบ "อินพุต"
คนที่สามารถบอกสิ่งที่แตกต่างระหว่างchangeและinputเหตุการณ์ที่เกิดขึ้นคืออะไร? ฉันใช้ jQuery เพื่อเพิ่ม: $('input[type="text"]').on('change', function() { alert($(this).val()); }) นอกจากนี้ยังทำงานร่วมกับแทนinputchange อาจจะแตกต่างกันบ้างในการเรียงลำดับเหตุการณ์ที่สัมพันธ์กับโฟกัส?
115 javascript  jquery  events  dom 

10
การจับแอตทริบิวต์ href ขององค์ประกอบ A
พยายามค้นหาลิงก์ในหน้า regex ของฉันคือ: /<a\s[^>]*href=(\"\'??)([^\"\' >]*?)[^>]*>(.*)<\/a>/ แต่ดูเหมือนจะล้มเหลวที่ <a title="this" href="that">what?</a> ฉันจะเปลี่ยน regex เพื่อจัดการกับ href ที่ไม่ได้วางไว้ก่อนในแท็กได้อย่างไร
114 php  html  dom 

21
scrollIntoView Scrolls มากเกินไป
ฉันมีหน้าที่แถบเลื่อนที่มีแถวของตารางที่มี div อยู่ในนั้นถูกสร้างขึ้นแบบไดนามิกจากฐานข้อมูล แต่ละแถวของตารางจะทำหน้าที่เหมือนลิงก์ตามที่คุณเห็นในเพลย์ลิสต์ YouTube ถัดจากโปรแกรมเล่นวิดีโอ เมื่อผู้ใช้เข้าชมเพจตัวเลือกที่เปิดอยู่ควรจะไปที่ด้านบนสุดของ div แบบเลื่อน ฟังก์ชันนี้ใช้งานได้ ปัญหาคือมันไปไกลเกินไป เช่นเดียวกับตัวเลือกที่เปิดอยู่สูงเกินไปประมาณ 10px ดังนั้นเมื่อมีการเยี่ยมชมหน้าเว็บ URL จะใช้เพื่อระบุว่าตัวเลือกใดถูกเลือกจากนั้นเลื่อนตัวเลือกนั้นไปที่ด้านบนสุดของ Div หมายเหตุ: นี่ไม่ใช่แถบเลื่อนสำหรับหน้าต่าง แต่เป็น div ที่มีแถบเลื่อน ฉันใช้รหัสนี้เพื่อย้ายตัวเลือกที่เลือกไปที่ด้านบนสุดของ div: var pathArray = window.location.pathname.split( '/' ); var el = document.getElementById(pathArray[5]); el.scrollIntoView(true); มันจะย้ายไปที่ด้านบนสุดของ div แต่ไกลเกินไปประมาณ 10 พิกเซล ใครทราบวิธีแก้ไข
114 javascript  dom  scroll 



15
ตรวจจับการเปลี่ยนแปลงเนื้อหาองค์ประกอบด้วย jQuery
change() ฟังก์ชันทำงานและตรวจจับการเปลี่ยนแปลงขององค์ประกอบฟอร์ม แต่มีวิธีตรวจจับเมื่อเนื้อหาขององค์ประกอบ DOM เปลี่ยนแปลงหรือไม่ สิ่งนี้ไม่ได้ผลเว้นแต่#contentจะเป็นองค์ประกอบแบบฟอร์ม $("#content").change( function(){ // do something }); ฉันต้องการให้สิ่งนี้กระตุ้นเมื่อทำสิ่งต่างๆเช่น: $("#content").html('something'); นอกจากนี้html()หรือappend()ฟังก์ชันไม่มีการโทรกลับ ข้อเสนอแนะใด ๆ ?
113 javascript  jquery  dom 

11
ตรวจสอบว่าองค์ประกอบ HTML มีแถบเลื่อนหรือไม่
วิธีใดที่เร็วที่สุดในการตรวจสอบว่าองค์ประกอบมีแถบเลื่อนหรือไม่ สิ่งหนึ่งที่แน่นอนคือการตรวจสอบว่าองค์ประกอบมีขนาดใหญ่กว่าวิวพอร์ตหรือไม่ซึ่งสามารถทำได้อย่างง่ายดายโดยตรวจสอบค่าทั้งสองนี้: el.scrollHeight > el.offsetHeight || el.scrollWidth > el.offsetWidth แต่นั่นไม่ได้หมายความว่ามันมีแถบเลื่อนด้วย (ดังนั้นมนุษย์จึงสามารถเลื่อนได้) คำถาม ฉันจะตรวจสอบแถบเลื่อนในเบราว์เซอร์1 แบบไขว้และ2จาวาสคริปต์เท่านั้น (เช่นเดียวกับที่ไม่มี jQuery ) ได้อย่างไร Javascript เท่านั้นเพราะฉันต้องการค่าใช้จ่ายที่น้อยที่สุดเพราะฉันต้องการเขียนตัวกรองตัวเลือก jQuery ที่รวดเร็วมาก // check for specific scrollbars $(":scrollable(x/y/both)") // check for ANY scrollbar $(":scrollable") ฉันคิดว่าฉันต้องตรวจสอบการoverflowตั้งค่าสไตล์ แต่ฉันจะทำได้อย่างไรในเบราว์เซอร์ข้าม? แก้ไขเพิ่มเติม overflowการตั้งค่าสไตล์ไม่เพียง การตรวจสอบว่าองค์ประกอบมีแถบเลื่อนนั้นไม่สำคัญเท่าที่ควร สูตรแรกที่ฉันเขียนไว้ข้างต้นใช้งานได้ดีเมื่อองค์ประกอบไม่มีเส้นขอบ แต่เมื่อเป็นเช่นนั้น (โดยเฉพาะอย่างยิ่งเมื่อเส้นขอบมีความกว้างมาก) offsetมิติอาจใหญ่กว่าscrollมิติ แต่องค์ประกอบยังสามารถเลื่อนได้ เราต้องลบเส้นขอบจากoffsetมิติข้อมูลเพื่อให้ได้วิวพอร์ตที่เลื่อนได้จริงขององค์ประกอบและเปรียบเทียบกับscrollมิติ สำหรับการอ้างอิงในอนาคต :scrollablejQuery selector filter รวมอยู่ใน.scrollintoview()ปลั๊กอิน …

9
การค้นหาตำแหน่งขององค์ประกอบที่สัมพันธ์กับเอกสาร
วิธีใดง่ายที่สุดในการกำหนดตำแหน่งองค์ประกอบที่สัมพันธ์กับหน้าต่างเอกสาร / เนื้อหา / เบราว์เซอร์ ตอนนี้ฉันกำลังใช้อยู่.offsetLeft/offsetTopแต่วิธีนี้ให้ตำแหน่งที่สัมพันธ์กับองค์ประกอบหลักเท่านั้นดังนั้นคุณต้องกำหนดจำนวนผู้ปกครองกับองค์ประกอบของร่างกายเพื่อให้ทราบตำแหน่งที่สัมพันธ์กับตำแหน่งของเนื้อหา / หน้าต่างเบราว์เซอร์ / เอกสาร วิธีนี้ยังยุ่งยาก
113 javascript  dom 

6
การหน่วงเวลาสคริปต์ jquery จนกว่าทุกอย่างจะโหลดขึ้น
ฉันมีสคริปต์ jquery ซึ่งฉันต้องการเรียกใช้เพียงครั้งเดียวทุกอย่างในหน้ารวมถึงจาวาสคริปต์อื่น ๆ (ซึ่งฉันไม่สามารถควบคุมได้) ทำสิ่งนั้นเสร็จแล้ว แม้ว่าบางทีอาจจะมีทางเลือกอื่นแทน $ (document) แต่ก็หาไม่เจอ
112 javascript  jquery  dom 

20
การเรียกใช้องค์ประกอบ <script> แทรกด้วย .innerHTML
ฉันมีสคริปต์ที่แทรกเนื้อหาบางส่วนลงในองค์ประกอบโดยใช้innerHTML. ตัวอย่างเช่นเนื้อหาอาจเป็น: &lt;script type="text/javascript"&gt;alert('test');&lt;/script&gt; &lt;strong&gt;test&lt;/strong&gt; ปัญหาคือโค้ดภายใน&lt;script&gt;แท็กไม่ได้รับการดำเนินการ ฉัน googled เล็กน้อย แต่ไม่มีวิธีแก้ปัญหาที่ชัดเจน หากฉันแทรกเนื้อหาโดยใช้ jQuery $(element).append(content);ส่วนของสคริปต์จะได้รับeval'd ก่อนที่จะฉีดเข้าไปใน DOM มีใครมีข้อมูลโค้ดที่เรียกใช้&lt;script&gt;องค์ประกอบทั้งหมดหรือไม่ โค้ด jQuery ค่อนข้างซับซ้อนดังนั้นฉันจึงไม่สามารถเข้าใจได้ว่ามันเป็นอย่างไร แก้ไข : เมื่อมองเข้าไปในโค้ด jQuery ฉันได้จัดการเพื่อหาว่า jQuery ทำอย่างไรซึ่งส่งผลให้เกิดรหัสต่อไปนี้: Demo: &lt;div id="element"&gt;&lt;/div&gt; &lt;script type="text/javascript"&gt; function insertAndExecute(id, text) { domelement = document.getElementById(id); domelement.innerHTML = text; var scripts = []; ret = domelement.childNodes; for ( …

13
กำหนดองค์ประกอบที่ตัวชี้เมาส์อยู่ด้านบนใน JavaScript
ฉันต้องการฟังก์ชันที่บอกฉันว่าเคอร์เซอร์ของเมาส์อยู่เหนือองค์ประกอบใด ตัวอย่างเช่นหากเมาส์ของผู้ใช้อยู่เหนือพื้นที่ข้อความนี้ (พร้อม id wmd-input) การโทรwindow.which_element_is_the_mouse_on()จะเทียบเท่ากับฟังก์ชัน$("#wmd-input")จะเป็นหน้าที่เทียบเท่า
111 javascript  dom  mouse 

7
แนวทางปฏิบัติที่ดีที่สุดสำหรับการฝัง JSON โดยพลการใน DOM?
ฉันกำลังคิดเกี่ยวกับการฝัง JSON โดยพลการใน DOM ดังนี้: &lt;script type="application/json" id="stuff"&gt; { "unicorns": "awesome", "abc": [1, 2, 3] } &lt;/script&gt; ซึ่งคล้ายกับวิธีที่เราอาจจัดเก็บเทมเพลต HTML ที่กำหนดเองใน DOM เพื่อใช้กับเอ็นจินเทมเพลต JavaScript ในภายหลัง ในกรณีนี้เราสามารถดึง JSON และแยกวิเคราะห์ได้ในภายหลังด้วย: var stuff = JSON.parse(document.getElementById('stuff').innerHTML); วิธีนี้ได้ผลแต่เป็นวิธีที่ดีที่สุดหรือไม่? สิ่งนี้ละเมิดแนวทางปฏิบัติหรือมาตรฐานที่ดีที่สุดหรือไม่ หมายเหตุ: ฉันไม่ได้มองหาทางเลือกอื่นในการจัดเก็บ JSON ใน DOM ฉันตัดสินใจแล้วว่าเป็นทางออกที่ดีที่สุดสำหรับปัญหาเฉพาะที่ฉันมี ฉันแค่มองหาวิธีที่ดีที่สุดที่จะทำ

13
มีวิธีเลือกโหนดพี่น้องหรือไม่?
ด้วยเหตุผลด้านประสิทธิภาพบางประการฉันกำลังพยายามหาวิธีเลือกเฉพาะโหนดพี่น้องของโหนดที่เลือก ตัวอย่างเช่น, &lt;div id="outer"&gt; &lt;div id="inner1"&gt;&lt;/div&gt; &lt;div id="inner2"&gt;&lt;/div&gt; &lt;div id="inner3"&gt;&lt;/div&gt; &lt;div id="inner4"&gt;&lt;/div&gt; &lt;/div&gt; หากฉันเลือกโหนด inner1 มีวิธีให้ฉันเข้าถึงinner2-4โหนดพี่น้องหรือไม่
110 javascript  dom  siblings 

9
รับค่าองค์ประกอบด้วย minidom ด้วย Python
ฉันกำลังสร้างส่วนหน้า GUI สำหรับ Eve Online API ใน Python ฉันดึงข้อมูล XML จากเซิร์ฟเวอร์สำเร็จแล้ว ฉันพยายามดึงค่าจากโหนดชื่อ "name": from xml.dom.minidom import parse dom = parse("C:\\eve.xml") name = dom.getElementsByTagName('name') print name ดูเหมือนว่าจะพบโหนด แต่ผลลัพธ์อยู่ด้านล่าง: [&lt;DOM Element: name at 0x11e6d28&gt;] ฉันจะพิมพ์ค่าของโหนดได้อย่างไร
109 python  dom  minidom 

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