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

สำหรับคำถามเกี่ยวกับการเขียนโปรแกรมใน ECMAScript (JavaScript / JS) และภาษา / การใช้งานต่างๆ (ไม่รวม ActionScript) แท็กนี้ไม่ค่อยได้ใช้คนเดียว แต่ส่วนใหญ่มักจะเกี่ยวข้องกับแท็ก [node.js], [jquery], [json] และ [html]

5
JavaScript: ตรวจสอบว่าอาร์กิวเมนต์เป็นอาร์เรย์แทนที่จะเป็นวัตถุ (Node.JS)
ฉันจะตรวจสอบได้อย่างไรว่าอาร์กิวเมนต์เป็นอาร์เรย์เนื่องจากtypeof []ส่งคืน'object'และฉันต้องการแยกความแตกต่างระหว่างอาร์เรย์และวัตถุ เป็นไปได้ว่าออบเจ็กต์จะมีลักษณะเหมือน{"0":"string","1":"string","length":"2"}อาร์เรย์ แต่ฉันไม่ต้องการให้มันออกมาเป็นอาร์เรย์หากเป็นอ็อบเจ็กต์ที่ดูเหมือนอาร์เรย์ JSON.parseและJSON.stringifyสามารถสร้างความแตกต่างนี้ได้ ฉันจะทำมันได้อย่างไร? ฉันใช้ Node.JS ซึ่งใช้ V8 เหมือนกับ Chrome

4
จะสร้างแท็ก img ใหม่ด้วย JQuery ด้วย src และ id จากออบเจ็กต์ JavaScript ได้อย่างไร
ฉันเข้าใจ JQuery ในแง่พื้นฐาน แต่ฉันยังใหม่อยู่มากและสงสัยว่านี่เป็นเรื่องง่ายมาก ฉันมี image src และ id ของฉันในการตอบสนอง JSON (แปลงเป็นวัตถุ) ดังนั้นค่าที่ถูกต้องใน responseObject.imgurl และ responseObject.imgid และตอนนี้ฉันต้องการสร้างภาพด้วยและต่อท้าย div (เรียกมันว่า<div id="imagediv">ฉันติดอยู่เล็กน้อยในการสร้างแบบไดนามิก<img src="dynamic" id="dynamic">- ตัวอย่างส่วนใหญ่ที่ฉันเห็นเกี่ยวข้องกับการแทนที่ src ในรูปภาพที่มีอยู่ แต่ฉันไม่มีรูปภาพอยู่แล้ว

4
สลับปุ่มตัวเลือก HTML โดยคลิกที่ป้ายกำกับ
โปรดมีวิธีง่ายๆในการสลับปุ่มตัวเลือก - เมื่อมีการคลิกข้อความใกล้ ๆ - โดยไม่ต้องแนะนำ Javascript Framework ขนาดใหญ่ในโครงการ PHP ขนาดเล็กของฉันหรือไม่? รูปแบบเว็บมีลักษณะดังนี้: <html> <body> <form method="post"> <p>Mode:<br /> <input type="radio" name="mode" value="create"><i>create table</i><br /> <input type="radio" name="mode" value="select" checked>select records (can specify id)<br /> <input type="radio" name="mode" value="insert">insert 1 record (must specify all)<br /> <input type="radio" name="mode" value="delete">delete records (must …

19
การเพิ่มไอคอนเปิด / ปิดไปยัง Twitter Bootstrap ที่ยุบได้ (หีบเพลง)
ฉันได้ตั้งค่าหีบเพลง Bootstrap เวอร์ชันง่ายๆนี้แล้ว : หีบเพลงธรรมดา: http://jsfiddle.net/darrenc/cngPS/ ขณะนี้ไอคอนชี้ลงเท่านั้น แต่มีใครรู้บ้างว่าจำเป็นต้องใช้ JS อะไรเพื่อเปลี่ยนคลาสของไอคอนเป็น: <i class="icon-chevron-up"></i> ... เพื่อให้ชี้ขึ้นเมื่อขยายและสลับกลับลงอีกครั้งเมื่อยุบและอันดับสี่?

2
ดัชนีการเข้าถึงของ $ parent ใน knockout.js
ใน knockout.js 2.1.0 ในเทมเพลตที่ใช้การผูก foreach คุณสามารถเข้าถึงดัชนีของรายการปัจจุบันผ่านฟังก์ชัน $ index () ในการผูก foreach แบบซ้อนมีวิธีใดในการเข้าถึงดัชนีของ $ parent จากเทมเพลตหรือไม่? สมมติว่าฉันมีโครงสร้างข้อมูลดังนี้: var application = { topModel: [ { {subModel: [{'foo':'foo'}, { 'bar':'bar'}]}, // this has top:0 and sub:0 {subModel: [{'foo2':'foo2'}, { 'bar2':'bar2'}]} // this has top:0 and sub:1 }, { {subModel: [{'foo':'foo'}, { 'bar':'bar'}]} // …

18
ฉันจะทำให้แท็บปัจจุบันใช้งานกับ twitter bootstrap ได้อย่างไรหลังจากโหลดหน้าใหม่
ฉันกำลังใช้แท็บกับ Twitter Bootstrap และต้องการเลือกแท็บเดียวกันหลังจากที่ผู้ใช้โพสต์ข้อมูลและรีโหลดเพจ วิธีนี้ทำได้อย่างไร? สายปัจจุบันของฉันไปที่ inti แท็บมีลักษณะดังนี้: <script type="text/javascript"> $(document).ready(function() { $('#profileTabs a:first').tab('show'); }); </script> แท็บของฉัน: <ul id="profileTabs" class="nav nav-tabs"> <li class="active"><a href="#profile" data-toggle="tab">Profile</a></li> <li><a href="#about" data-toggle="tab">About Me</a></li> <li><a href="#match" data-toggle="tab">My Match</a></li> </ul>

7
อะไรคือความแตกต่างระหว่างวิธีการต่างๆในการใส่โค้ด JavaScript ใน <a>?
ฉันได้เห็นวิธีการต่อไปนี้ในการใส่โค้ด JavaScript ใน&lt;a&gt;แท็ก: function DoSomething() { ... return false; } &lt;a href="javascript:;" onClick="return DoSomething();"&gt;link&lt;/a&gt; &lt;a href="javascript:DoSomething();"&gt;link&lt;/a&gt; &lt;a href="javascript:void(0);" onClick="return DoSomething();"&gt;link&lt;/a&gt; &lt;a href="#" onClick="return DoSomething();"&gt;link&lt;/a&gt; ฉันเข้าใจแนวคิดในการพยายามใส่ URL ที่ถูกต้องแทนที่จะใส่โค้ด JavaScript ในกรณีที่ผู้ใช้ไม่ได้เปิดใช้งาน JavaScript แต่สำหรับจุดประสงค์ของการสนทนานี้ฉันต้องถือว่า JavaScript เปิดใช้งาน (พวกเขาไม่สามารถเข้าสู่ระบบได้หากไม่มี) โดยส่วนตัวแล้วฉันชอบตัวเลือกที่ 2 เพราะมันช่วยให้คุณเห็นว่าอะไรกำลังจะถูกเรียกใช้ - มีประโยชน์อย่างยิ่งเมื่อทำการดีบักที่มีการส่งผ่านพารามิเตอร์ไปยังฟังก์ชัน ฉันใช้มันมาพอสมควรและไม่พบปัญหาเกี่ยวกับเบราว์เซอร์ ฉันได้อ่านที่มีคนแนะนำ 4 เพราะมันทำให้ผู้ใช้มีลิงค์ที่แท้จริงเพื่อติดตาม แต่จริงๆ # ไม่ใช่ "ของจริง" มันจะไม่ไปไหนอย่างแน่นอน มีสิ่งที่ไม่รองรับหรือไม่ดีจริงๆเมื่อคุณรู้ว่าผู้ใช้เปิดใช้งาน JavaScript? …
87 javascript  html  href 

17
คำขอ jQuery Ajax ถูกยกเลิกโดยไม่มีการส่ง
ฉันกำลังพยายามเชื่อมต่อสคริปต์กับแอป World-Wide Telescope ของ Microsoft ฟังก์ชั่นหลังบนพอร์ต 5050 สำหรับคำสั่ง มันทำงานบนเครื่องเดียวกับเบราว์เซอร์ (Chrome ตอนนี้ แต่เท่าที่ฉันสามารถบอกได้ว่าลักษณะการทำงานเหมือนกันกับ Firefox 7 และ IE 9) ฉันกำลังส่งส่วนหัว "Access-Control-Allow-Origin: *" พร้อมไฟล์ html ดั้งเดิมเพื่อพยายามกำจัดข้อ จำกัด XSS ซึ่งเป็นปัญหาของฉัน รหัสของฉันในการเข้าถึง WWT มีดังนี้: $.ajax({ type: 'POST', url: url, data: data, crossDomain: true, success: success, dataType: dataType }); url ในกรณีนี้คือ "http: //127.0.0.1: 5050 / layerApi.aspx? …

4
ใช้ Babel-node ในการผลิตได้หรือไม่
ฉันได้พัฒนาไซต์โดยใช้ babel-node และ browserify ด้วย babelify transform เพื่อรองรับไวยากรณ์ ES6 ฉันแค่สงสัยว่าฉันสามารถเรียกใช้สิ่งนี้ในการผลิต babel-node server แทนที่จะ เป็นnode server ตัวเลือกอื่นใดที่ฉันต้องรัน ES6 ในโหนด นี่คือคำสั่งที่ฉันกำลังเรียกใช้เพื่อสร้างและเริ่มต้นในการพัฒนา // npm run build browserify -t [babelify] client.js &gt; public/js/bundle.js", // npm start babel-node server.js" นี่คือการพึ่งพานักพัฒนาของฉัน "babel": "^4.0.1", "babelify": "^5.0.3", "browserify": "^8.0.3"


15
การประกาศอาร์เรย์ของวัตถุ
ฉันมีตัวแปรซึ่งเป็นอาร์เรย์และฉันต้องการให้ทุกองค์ประกอบของอาร์เรย์ทำหน้าที่เป็นวัตถุตามค่าเริ่มต้น เพื่อให้บรรลุเป้าหมายนี้ฉันสามารถทำสิ่งนี้ในรหัสของฉันได้ var sample = new Array(); sample[0] = new Object(); sample[1] = new Object(); ใช้งานได้ดี แต่ฉันไม่ต้องการพูดถึงหมายเลขดัชนีใด ๆ ฉันต้องการให้องค์ประกอบทั้งหมดของอาร์เรย์ของฉันเป็นวัตถุ ฉันจะประกาศหรือเริ่มต้นได้อย่างไร var sample = new Array(); sample[] = new Object(); ฉันลองใช้รหัสด้านบน แต่ไม่ได้ผล ฉันจะเริ่มต้นอาร์เรย์ของวัตถุโดยไม่ใช้หมายเลขดัชนีได้อย่างไร

2
ไวยากรณ์ ES2015 (ES6) `class` ให้ประโยชน์อะไรบ้าง?
ฉันมีคำถามมากมายเกี่ยวกับคลาส ES6 ประโยชน์ของการใช้classไวยากรณ์คืออะไร? ฉันอ่านว่า public / private / static จะเป็นส่วนหนึ่งของ ES7 นั่นคือเหตุผลหรือไม่? ยิ่งไปกว่านั้นclassOOP ประเภทอื่นหรือยังคงเป็นมรดกต้นแบบของ JavaScript? ฉันสามารถแก้ไขโดยใช้.prototype? หรือเป็นเพียงวัตถุชิ้นเดียวกัน แต่มีสองวิธีในการประกาศ มีประโยชน์ด้านความเร็วหรือไม่? อาจจะง่ายกว่าในการดูแลรักษา / ทำความเข้าใจหากคุณมีแอปพลิเคชันขนาดใหญ่เช่นแอปใหญ่

6
จาวาสคริปต์นิพจน์ทั่วไปไม่ตรงกับคำ
ฉันจะใช้นิพจน์ทั่วไปของจาวาสคริปต์เพื่อตรวจสอบสตริงที่ไม่ตรงกับคำบางคำได้อย่างไร ตัวอย่างเช่นฉันต้องการฟังก์ชันที่เมื่อส่งผ่านสตริงที่มีabcหรือdefส่งกลับเท็จ 'abcd' -&gt; เท็จ 'cdef' -&gt; เท็จ 'bcd' -&gt; จริง แก้ไข โดยเฉพาะอย่างยิ่งฉันต้องการนิพจน์ทั่วไปที่เรียบง่ายเหมือนอย่างเช่น [^ abc] แต่มันไม่ได้ผลลัพธ์ที่คาดหวังเนื่องจากฉันต้องการตัวอักษรที่ต่อเนื่องกัน เช่น. ฉันต้องการmyregex if ( myregex.test('bcd') ) alert('the string does not contain abc or def'); คำสั่งที่ได้รับการประเมินเพื่อmyregex.test('bcd')true


5
ตรวจสอบความเท่าเทียมกันของวัตถุในจัสมิน
จัสมินมีตัวจับคู่toBeและtoEqual. หากฉันมีวัตถุเช่นนี้: function Money(amount, currency){ this.amount = amount; this.currency = currency; this.sum = function (money){ return new Money(200, "USD"); } } และลองเปรียบเทียบnew Money(200, "USD")และผลลัพธ์ของผลรวมตัวจับคู่ในตัวเหล่านี้จะไม่ทำงานตามที่คาดไว้ ฉันได้จัดการเพื่อใช้วิธีแก้ปัญหาตามequalsวิธีการที่กำหนดเองและตัวจับคู่แบบกำหนดเอง แต่ดูเหมือนจะได้ผลมาก วิธีมาตรฐานในการเปรียบเทียบวัตถุในจัสมินคืออะไร?

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