JavaScript ਸਾਰਣੀਆਂ ਵਿੱਚ ਬਟਨਾਂ ਲਈ ਡਾਇਨਾਮਿਕ ਆਈਡੀ ਜਨਰੇਸ਼ਨ ਨੂੰ ਸਮਝਣਾ
ਜਦੋਂ JavaScript ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਟੇਬਲ ਅਤੇ ਬਟਨਾਂ ਵਰਗੇ HTML ਐਲੀਮੈਂਟਸ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਤਿਆਰ ਕਰਦੇ ਹੋ, ਤਾਂ ਉਹਨਾਂ ਤੱਤਾਂ ਨੂੰ ਵਿਲੱਖਣ ID ਨਿਰਧਾਰਤ ਕਰਨਾ ਇੱਕ ਚੁਣੌਤੀ ਹੋ ਸਕਦਾ ਹੈ। ਇਹ ਖਾਸ ਤੌਰ 'ਤੇ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਇੱਕ ਸਾਰਣੀ ਵਿੱਚ ਹਰੇਕ ਕਤਾਰ ਨੂੰ ਵੱਖਰੇ ਪਰਸਪਰ ਕ੍ਰਿਆਵਾਂ ਲਈ ਇੱਕ ਵਿਲੱਖਣ ਬਟਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਦੇ ਅੰਦਰ ਡਾਇਨਾਮਿਕ ਆਈਡੀ ਨਿਰਧਾਰਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਸਮੇਂ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਅਕਸਰ ਸਮੱਸਿਆਵਾਂ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪੈਂਦਾ ਹੈ innerHTML ਇੱਕ ਸੈੱਲ ਦੇ.
ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਟੀਚਾ ਇੱਕ JSON ਵਸਤੂ ਤੋਂ ਸਾਰਣੀ ਦੀਆਂ ਕਤਾਰਾਂ ਬਣਾਉਣਾ ਹੈ ਅਤੇ ਹਰੇਕ ਕਤਾਰ ਦੇ ਅੰਦਰ ਬਟਨ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਇੱਕ ਵਿਲੱਖਣ ID ਨਿਰਧਾਰਤ ਕਰਨਾ ਹੈ। ਹਾਲਾਂਕਿ, ਅੰਦਰ ਟੈਂਪਲੇਟ ਲਿਟਰਲ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਆਮ ਪਹੁੰਚ innerHTML ਉਮੀਦ ਅਨੁਸਾਰ ਕੰਮ ਨਹੀਂ ਕਰ ਸਕਦਾ। ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਬਾਅਦ ਵਿੱਚ ਉਹਨਾਂ ਬਟਨਾਂ ਦਾ ਹਵਾਲਾ ਦੇਣ ਜਾਂ ਉਹਨਾਂ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਸਮੇਂ ਇਹ ਸਮੱਸਿਆਵਾਂ ਪੈਦਾ ਕਰ ਸਕਦਾ ਹੈ।
ਸਮੱਸਿਆ JavaScript ਪ੍ਰਕਿਰਿਆ ਦੇ ਤਰੀਕੇ ਤੋਂ ਪੈਦਾ ਹੁੰਦੀ ਹੈ innerHTML ਅਤੇ ਟੈਂਪਲੇਟ ਲਿਟਰਲ। ਸਹੀ ਪਹੁੰਚ ਤੋਂ ਬਿਨਾਂ, ਬਟਨ ਦੇ ਆਈ.ਡੀ ਗਲਤ ਢੰਗ ਨਾਲ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੇਗਾ ਜਾਂ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਅੱਪਡੇਟ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਹੋ ਜਾਵੇਗਾ, ਜਿਸ ਨਾਲ ਕਾਰਵਾਈਆਂ ਲਈ ਖਾਸ ਕਤਾਰਾਂ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਉਣਾ ਅਸੰਭਵ ਹੋ ਜਾਵੇਗਾ। ਇਹ ਡਾਇਨਾਮਿਕ ਟੇਬਲ ਜਨਰੇਸ਼ਨ ਵਿੱਚ ਇੱਕ ਆਮ ਸਮੱਸਿਆ ਹੈ।
ਇਸ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ ਇੱਕ ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸਾਰਣੀ ਸੈੱਲਾਂ ਦੇ ਅੰਦਰ ਬਟਨਾਂ ਨੂੰ ਡਾਇਨਾਮਿਕ ਆਈ.ਡੀ. ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਨਿਰਧਾਰਤ ਕਰਕੇ ਇਸ ਮੁੱਦੇ ਨੂੰ ਕਿਵੇਂ ਹੱਲ ਕਰਨਾ ਹੈ ਇਸਦੀ ਪੜਚੋਲ ਕਰਾਂਗੇ ਜੋ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਬਟਨ ID ਹਰ ਕਤਾਰ ਲਈ ਵਿਲੱਖਣ ਹਨ। ਅਸੀਂ ਇੱਕ ਕਾਰਜਸ਼ੀਲ ਹੱਲ ਵੀ ਪ੍ਰਦਾਨ ਕਰਾਂਗੇ ਜੋ ਤੁਸੀਂ ਆਪਣੇ ਖੁਦ ਦੇ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਲਾਗੂ ਕਰ ਸਕਦੇ ਹੋ।
ਸਾਰਣੀ ਦਾ ਜਿੱਥੇ ਕਤਾਰਾਂ ਪਾਈਆਂ ਜਾਣਗੀਆਂ।ਹੁਕਮ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ |
---|---|
table.insertRow() | ਇਹ ਕਮਾਂਡ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਇੱਕ HTML ਸਾਰਣੀ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਤਾਰ ਸ਼ਾਮਲ ਕਰਦੀ ਹੈ। ਇਹ JSON ਡੇਟਾ ਵਿੱਚ ਹਰੇਕ ਐਂਟਰੀ ਲਈ ਇੱਕ ਕਤਾਰ ਜੋੜਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਲੂਪ ਦੇ ਹਰੇਕ ਦੁਹਰਾਅ ਲਈ, ਕਰਮਚਾਰੀ ਦੇ ਨਾਮ ਅਤੇ ਬਟਨ ਨੂੰ ਰੱਖਣ ਲਈ ਇੱਕ ਨਵੀਂ ਕਤਾਰ ਬਣਾਈ ਜਾਂਦੀ ਹੈ। |
newRow.insertCell() | ਇੱਕ ਸਾਰਣੀ ਕਤਾਰ ਵਿੱਚ ਇੱਕ ਨਵਾਂ ਸੈੱਲ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ। ਸਾਡੀ ਸਕ੍ਰਿਪਟ ਵਿੱਚ, ਅਸੀਂ ਇਸਨੂੰ ਦੋ ਸੈੱਲ ਬਣਾਉਣ ਲਈ ਵਰਤਦੇ ਹਾਂ: ਇੱਕ ਕਰਮਚਾਰੀ ਦੇ ਨਾਮ ਲਈ ਅਤੇ ਦੂਜਾ ਬਟਨ ਲਈ। |
document.createElement() | ਇਹ ਫੰਕਸ਼ਨ ਇੱਕ ਨਵਾਂ HTML ਐਲੀਮੈਂਟ ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ a <button>. ਇਹ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਤੱਤ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ innerHTML, ਜੋ ਕਿ ਸੁਰੱਖਿਅਤ ਹੈ ਅਤੇ ਤੱਤਾਂ 'ਤੇ ਵਧੇਰੇ ਨਿਯੰਤਰਣ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। |
element.addEventListener() | ਇੱਕ ਇਵੈਂਟ ਲਿਸਨਰ ਨੂੰ ਇੱਕ HTML ਤੱਤ ਨਾਲ ਜੋੜਦਾ ਹੈ। ਸਾਡੇ ਹੱਲ ਵਿੱਚ, ਇਸਦੀ ਵਰਤੋਂ a ਜੋੜਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਕਲਿੱਕ ਕਰੋ ਇਵੈਂਟ ਨੂੰ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਬਣਾਏ ਗਏ ਬਟਨ ਨੂੰ ਭੇਜੋ ਤਾਂ ਜੋ ਇਹ ਟ੍ਰਿਗਰ ਕਰ ਸਕੇ doSmth() ਫੰਕਸ਼ਨ. |
event.target.id | ਤੱਕ ਪਹੁੰਚ ਕਰਦਾ ਹੈ ਆਈ.ਡੀ HTML ਤੱਤ ਦਾ ਜਿਸਨੇ ਇਵੈਂਟ ਨੂੰ ਚਾਲੂ ਕੀਤਾ। ਇਹ ਪਛਾਣ ਕਰਨ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਕਿਹੜੇ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕੀਤਾ ਗਿਆ ਸੀ, ਜਿਸ ਨਾਲ ਅਸੀਂ ਉਹਨਾਂ ਦੇ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਤਿਆਰ ਕੀਤੇ ਦੇ ਆਧਾਰ 'ਤੇ ਉਹਨਾਂ ਵਿਚਕਾਰ ਫਰਕ ਕਰ ਸਕਦੇ ਹਾਂ। ਆਈ.ਡੀ. |
fetch() | JavaScript ਵਿੱਚ HTTP ਬੇਨਤੀਆਂ ਕਰਨ ਦਾ ਇੱਕ ਆਧੁਨਿਕ ਤਰੀਕਾ। ਸਾਡੀ ਸਕ੍ਰਿਪਟ ਵਿੱਚ, ਇਸਦੀ ਵਰਤੋਂ ਸਰਵਰ ਤੋਂ ਡੇਟਾ ਦੀ ਬੇਨਤੀ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਪ੍ਰਾਪਤ ਕੀਤੇ ਡੇਟਾ ਦੀ ਵਰਤੋਂ ਫਿਰ ਸਾਰਣੀ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਬਣਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। |
textContent | ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਇੱਕ ਤੱਤ ਦੀ ਟੈਕਸਟ ਸਮੱਗਰੀ ਨੂੰ ਸੈੱਟ ਕਰਨ ਜਾਂ ਵਾਪਸ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। ਉਦਾਹਰਨ ਵਿੱਚ, ਇਸਦੀ ਵਰਤੋਂ HTML ਟੈਗਾਂ ਨੂੰ ਰੈਂਡਰ ਕੀਤੇ ਬਿਨਾਂ ਹਰੇਕ ਕਤਾਰ ਦੇ ਪਹਿਲੇ ਸੈੱਲ ਵਿੱਚ ਕਰਮਚਾਰੀ ਦਾ ਨਾਮ ਪਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਉਲਟ innerHTML. |
table.getElementsByTagName() | ਇਹ ਵਿਧੀ ਨਿਰਧਾਰਤ ਟੈਗ ਨਾਮ ਦੇ ਨਾਲ ਸਾਰੇ ਤੱਤ ਪ੍ਰਾਪਤ ਕਰਦੀ ਹੈ। ਇਸ ਮਾਮਲੇ ਵਿੱਚ, ਇਸ ਨੂੰ ਚੁਣਨ ਲਈ ਵਰਤਿਆ ਗਿਆ ਹੈ |
JavaScript ਵਿੱਚ ਡਾਇਨਾਮਿਕ ਟੇਬਲ ਰੋਅ ਅਤੇ ਬਟਨ ਆਈਡੀ ਜਨਰੇਸ਼ਨ
ਡਾਇਨਾਮਿਕ ਫਰੰਟ-ਐਂਡ ਡਿਵੈਲਪਮੈਂਟ ਵਿੱਚ, HTML ਤੱਤਾਂ ਲਈ ਵਿਲੱਖਣ ਆਈਡੀ ਬਣਾਉਣਾ ਅਕਸਰ ਉਪਭੋਗਤਾ ਇੰਟਰੈਕਸ਼ਨਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦਾ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ ਅਜਿਹੇ ਹਾਲਾਤਾਂ ਵਿੱਚ ਜਿੱਥੇ ਕਈ ਬਟਨਾਂ ਜਾਂ ਇਨਪੁਟ ਖੇਤਰਾਂ ਨੂੰ ਵੱਖ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਉੱਪਰ ਵਿਚਾਰੀਆਂ ਗਈਆਂ ਸਕ੍ਰਿਪਟਾਂ ਦਰਸਾਉਂਦੀਆਂ ਹਨ ਕਿ ਕਿਵੇਂ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਸਾਰਣੀ ਦੀਆਂ ਕਤਾਰਾਂ ਅਤੇ ਬਟਨਾਂ ਨੂੰ ਬਣਾਉਣਾ ਹੈ, ਹਰੇਕ ਬਟਨ ਨੂੰ ਇੱਕ ਵਿਲੱਖਣ ID ਨਿਰਧਾਰਤ ਕਰਨਾ ਜੋ ਸਾਰਣੀ ਵਿੱਚ ਇਸਦੀ ਕਤਾਰ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ। JavaScript ਲੂਪਸ ਅਤੇ ਸਟ੍ਰਿੰਗ ਜੋੜਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਅਸੀਂ ਯਕੀਨੀ ਬਣਾ ਸਕਦੇ ਹਾਂ ਕਿ ਹਰੇਕ ਬਟਨ ਦਾ ਇੱਕ ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾ ਹੈ, ਜਿਵੇਂ ਕਿ "testbutton0", "testbutton1", ਅਤੇ ਹੋਰ। ਇਹ ਉਸ ਬਟਨ ਦੀ ਅਸਾਨੀ ਨਾਲ ਪਛਾਣ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਜੋ ਇੱਕ ਖਾਸ ਘਟਨਾ ਨੂੰ ਚਾਲੂ ਕਰਦਾ ਹੈ, ਇਸ ਨੂੰ ਗਤੀਸ਼ੀਲ ਸਮੱਗਰੀ ਬਣਾਉਣ ਲਈ ਇੱਕ ਵਿਹਾਰਕ ਪਹੁੰਚ ਬਣਾਉਂਦਾ ਹੈ।
ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ ਵਰਤੇ ਗਏ ਕੋਰ ਫੰਕਸ਼ਨਾਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ table.insertRow(), ਜੋ ਪਹਿਲਾਂ ਤੋਂ ਮੌਜੂਦ HTML ਸਾਰਣੀ ਵਿੱਚ ਨਵੀਆਂ ਕਤਾਰਾਂ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ। ਲੂਪ ਦੇ ਹਰੇਕ ਦੁਹਰਾਅ ਲਈ, ਟੇਬਲ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਤਾਰ ਜੋੜੀ ਜਾਂਦੀ ਹੈ, ਅਤੇ ਉਸ ਕਤਾਰ ਦੇ ਅੰਦਰ, ਅਸੀਂ ਦੋ ਸੈੱਲ ਬਣਾਉਂਦੇ ਹਾਂ: ਇੱਕ ਕਰਮਚਾਰੀ ਦੇ ਨਾਮ ਲਈ ਅਤੇ ਦੂਜਾ ਬਟਨ ਲਈ। ਦੂਜਾ ਸੈੱਲ ਵਰਤਦਾ ਹੈ innerHTML ਬਟਨ ਅਤੇ ਇਸਦੀ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਤਿਆਰ ਆਈ.ਡੀ. ਪਾਉਣ ਲਈ। ਹਾਲਾਂਕਿ, ਵਰਤ ਕੇ innerHTML ਐਲੀਮੈਂਟਸ ਬਣਾਉਣ ਦੀਆਂ ਆਪਣੀਆਂ ਸੀਮਾਵਾਂ ਹਨ, ਖਾਸ ਤੌਰ 'ਤੇ ਜਦੋਂ ਬਟਨ ਆਈਡੀ ਵਰਗੇ ਵੇਰੀਏਬਲਾਂ ਦਾ ਹਵਾਲਾ ਦੇਣ ਦੀ ਗੱਲ ਆਉਂਦੀ ਹੈ, ਜੋ ਸਹੀ ਢੰਗ ਨਾਲ ਸੰਭਾਲੇ ਨਾ ਜਾਣ 'ਤੇ ਗਲਤੀਆਂ ਵੱਲ ਖੜਦੀ ਹੈ।
ਦੂਜੇ ਹੱਲ ਦੀ ਵਰਤੋਂ ਵਿੱਚ ਪ੍ਰਦਰਸ਼ਿਤ ਵਧੇਰੇ ਭਰੋਸੇਮੰਦ ਪਹੁੰਚ document.createElement() JavaScript ਰਾਹੀਂ ਸਿੱਧੇ HTML ਤੱਤ ਬਣਾਉਣ ਲਈ। ਇਹ ਵਿਧੀ ਤੱਤਾਂ ਦੀ ਰਚਨਾ 'ਤੇ ਬਿਹਤਰ ਨਿਯੰਤਰਣ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ ਅਤੇ ਸੁਰੱਖਿਅਤ, ਵਧੇਰੇ ਮਾਡਯੂਲਰ ਕੋਡ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ। ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਦੁਆਰਾ ਪ੍ਰੋਗਰਾਮਾਂ ਦੇ ਰੂਪ ਵਿੱਚ ਬਟਨ ਬਣਾ ਕੇ ਅਤੇ ਆਈਡੀ ਨੂੰ ਡਾਇਨਾਮਿਕ ਤੌਰ 'ਤੇ ਨਿਰਧਾਰਤ ਕਰਕੇ, ਇਹ ਹੱਲ ਸੰਭਾਵਿਤ ਸਮੱਸਿਆਵਾਂ ਤੋਂ ਬਚਦਾ ਹੈ innerHTML ਅਤੇ ਸਮੱਗਰੀ ਤਿਆਰ ਕਰਨ ਦਾ ਇੱਕ ਸਾਫ਼, ਵਧੇਰੇ ਸੁਰੱਖਿਅਤ ਤਰੀਕਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਇਵੈਂਟ ਸਰੋਤਿਆਂ ਨੂੰ ਸਿੱਧੇ ਬਟਨਾਂ ਨਾਲ ਜੋੜਨਾ ਸੌਖਾ ਬਣਾਉਂਦਾ ਹੈ AddEventListener(), ਜੋ ਇਨਲਾਈਨ ਈਵੈਂਟ ਹੈਂਡਲਰਾਂ ਤੋਂ ਬਚਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।
ਅੰਤ ਵਿੱਚ, ਸ਼ਾਮਲ ਕਰਨਾ event.target.id ਇਹ ਪਛਾਣ ਕਰਨ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਕਿਹੜਾ ਬਟਨ ਕਲਿੱਕ ਕੀਤਾ ਗਿਆ ਸੀ। ਇਹ ਇਵੈਂਟ ਸੰਪੱਤੀ ਉਸ ਤੱਤ ਦੀ ਆਈਡੀ ਨੂੰ ਕੈਪਚਰ ਕਰਦੀ ਹੈ ਜਿਸ ਨੇ ਇਵੈਂਟ ਨੂੰ ਚਾਲੂ ਕੀਤਾ, ਪਰਸਪਰ ਕ੍ਰਿਆਵਾਂ 'ਤੇ ਸਟੀਕ ਨਿਯੰਤਰਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਜਦੋਂ ਇੱਕ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ doSmth() ਫੰਕਸ਼ਨ ਬਟਨ ਦੀ ID ਨੂੰ ਚੇਤਾਵਨੀ ਦਿੰਦਾ ਹੈ, ਜੋ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਕਿ ਕਲਿੱਕ ਕੀਤੇ ਗਏ ਖਾਸ ਬਟਨ ਦੇ ਆਧਾਰ 'ਤੇ ਸਹੀ ਕਾਰਵਾਈ ਕੀਤੀ ਗਈ ਹੈ। ਤਕਨੀਕਾਂ ਦਾ ਇਹ ਸੁਮੇਲ—ਗਤੀਸ਼ੀਲ ਕਤਾਰ ਬਣਾਉਣਾ, ਵਿਲੱਖਣ ਆਈਡੀ ਅਸਾਈਨਮੈਂਟ, ਅਤੇ ਇਵੈਂਟ ਹੈਂਡਲਿੰਗ—ਇਸ ਨੂੰ ਫਰੰਟ ਸਿਰੇ 'ਤੇ ਇੰਟਰਐਕਟਿਵ, ਡਾਟਾ-ਸੰਚਾਲਿਤ ਟੇਬਲ ਬਣਾਉਣ ਲਈ ਇੱਕ ਸ਼ਕਤੀਸ਼ਾਲੀ ਹੱਲ ਬਣਾਉਂਦਾ ਹੈ।
ਹੱਲ 1: ਡਾਇਨਾਮਿਕ ਆਈਡੀ ਜਨਰੇਸ਼ਨ ਲਈ ਟੈਂਪਲੇਟ ਲਿਟਰਲ ਨਾਲ ਜਾਵਾ ਸਕ੍ਰਿਪਟ
ਇਹ ਪਹੁੰਚ ਸਾਰਣੀ ਦੀਆਂ ਕਤਾਰਾਂ ਦੇ ਅੰਦਰ ਬਟਨਾਂ ਲਈ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਵਿਲੱਖਣ ID ਬਣਾਉਣ ਲਈ JavaScript ਅਤੇ ਟੈਂਪਲੇਟ ਲਿਟਰਲ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਕਤਾਰ ਸੂਚਕਾਂਕ ਦੇ ਆਧਾਰ 'ਤੇ ਹਰੇਕ ਬਟਨ ਦੀ ਇੱਕ ਵਿਲੱਖਣ ID ਹੈ, ਅਤੇ ਇਸ ਵਿੱਚ ਇਵੈਂਟ ਹੈਂਡਲਿੰਗ ਸ਼ਾਮਲ ਹੈ।
function buildTable(json) {
const table = document.getElementById("mytesttable").getElementsByTagName('tbody')[0];
for (let i = 0; i < json.data.length; i++) {
const newRow = table.insertRow();
const cell1 = newRow.insertCell(0);
const cell2 = newRow.insertCell(1);
cell1.innerHTML = json.data[i].emp_name;
let btnId = "testbutton" + i;
cell2.innerHTML = \`<button id="\${btnId}" onclick="doSmth()>Click Me</button>\`;
}
}
function doSmth() {
alert(event.target.id);
}
// Example JSON data
const json = { data: [{ emp_name: "John Doe" }, { emp_name: "Jane Smith" }] };
buildTable(json);
ਹੱਲ 2: ਬਿਹਤਰ ਨਿਯੰਤਰਣ ਅਤੇ ਮੁੜ ਵਰਤੋਂਯੋਗਤਾ ਲਈ DOM ਹੇਰਾਫੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ JavaScript
ਇਹ ਹੱਲ ਸ਼ੁੱਧ DOM ਹੇਰਾਫੇਰੀ 'ਤੇ ਕੇਂਦ੍ਰਤ ਕਰਦਾ ਹੈ, ਪਰਹੇਜ਼ ਕਰਦਾ ਹੈ innerHTML ਵਧੇਰੇ ਨਿਯੰਤਰਣ ਅਤੇ ਸੁਰੱਖਿਆ ਲਈ। ਇਹ ਬਟਨਾਂ ਅਤੇ ਪ੍ਰੋਗਰਾਮਾਂ ਦੇ ਪ੍ਰੋਗਰਾਮਾਂ ਨੂੰ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ.
function buildTable(json) {
const table = document.getElementById("mytesttable").getElementsByTagName('tbody')[0];
for (let i = 0; i < json.data.length; i++) {
const newRow = table.insertRow();
const cell1 = newRow.insertCell(0);
const cell2 = newRow.insertCell(1);
cell1.textContent = json.data[i].emp_name;
const button = document.createElement('button');
button.id = "testbutton" + i;
button.textContent = "Click Me";
button.addEventListener('click', doSmth);
cell2.appendChild(button);
}
}
function doSmth(event) {
alert(event.target.id);
}
// Example JSON data
const json = { data: [{ emp_name: "John Doe" }, { emp_name: "Jane Smith" }] };
buildTable(json);
ਹੱਲ 3: ਡਾਇਨਾਮਿਕ ਟੇਬਲ ਜਨਰੇਸ਼ਨ ਲਈ ਬੈਕ-ਐਂਡ (Node.js) ਅਤੇ ਫਰੰਟ-ਐਂਡ ਸੰਚਾਰ
ਇਸ ਪਹੁੰਚ ਵਿੱਚ, ਅਸੀਂ ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਬੈਕ-ਐਂਡ ਲਈ Node.js ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ, ਅਤੇ ਫਰੰਟ-ਐਂਡ 'ਤੇ ਵਿਲੱਖਣ ਬਟਨ ਆਈਡੀ ਦੇ ਨਾਲ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਇੱਕ ਸਾਰਣੀ ਤਿਆਰ ਕਰਦੇ ਹਾਂ। ਇਸ ਵਿਧੀ ਵਿੱਚ ਗਲਤੀ ਹੈਂਡਲਿੰਗ ਅਤੇ ਮਾਡਯੂਲਰ ਬਣਤਰ ਵੀ ਸ਼ਾਮਲ ਹੈ।
// Backend - Node.js (app.js)
const express = require('express');
const app = express();
app.use(express.static('public'));
app.get('/data', (req, res) => {
const data = [
{ emp_name: "John Doe" },
{ emp_name: "Jane Smith" }
];
res.json({ data });
});
app.listen(3000, () => {
console.log('Server running on port 3000');
});
// Frontend - index.html
<table id="mytesttable">
<thead>
<tr><th>Name</th><th>Action</th></tr>
</thead>
<tbody></tbody>
</table>
<script>
fetch('/data')
.then(response => response.json())
.then(json => buildTable(json));
function buildTable(json) {
const table = document.getElementById("mytesttable").getElementsByTagName('tbody')[0];
for (let i = 0; i < json.data.length; i++) {
const newRow = table.insertRow();
const cell1 = newRow.insertCell(0);
const cell2 = newRow.insertCell(1);
cell1.textContent = json.data[i].emp_name;
const button = document.createElement('button');
button.id = "testbutton" + i;
button.textContent = "Click Me";
button.addEventListener('click', doSmth);
cell2.appendChild(button);
}
}
function doSmth(event) {
alert(event.target.id);
}
</script>
JavaScript ਸਾਰਣੀਆਂ ਵਿੱਚ ਡਾਇਨਾਮਿਕ ਆਈਡੀ ਜਨਰੇਸ਼ਨ ਅਤੇ ਇੰਟਰਐਕਸ਼ਨ ਨੂੰ ਵਧਾਉਣਾ
ਇੱਕ ਅਕਸਰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕੀਤਾ ਪਹਿਲੂ ਜਦੋਂ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਨਾਲ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਸਾਰਣੀ ਸਮੱਗਰੀ ਤਿਆਰ ਕਰਨਾ ਮਾਪਯੋਗਤਾ ਅਤੇ ਰੱਖ-ਰਖਾਅ ਦੀ ਸੰਭਾਵਨਾ ਹੈ। ਜਿਵੇਂ ਕਿ ਸਾਰਣੀ ਦੀਆਂ ਕਤਾਰਾਂ ਦੀ ਗਿਣਤੀ ਵਧਦੀ ਹੈ, ਪ੍ਰਦਰਸ਼ਨ ਪ੍ਰਭਾਵਿਤ ਹੋ ਸਕਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਜੇ DOM ਨੂੰ ਲਗਾਤਾਰ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ ਜਾਂ ਦੁਬਾਰਾ ਬਣਾਇਆ ਜਾ ਰਿਹਾ ਹੈ। ਕਾਰਜਕੁਸ਼ਲਤਾ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਲਈ, ਤੁਸੀਂ ਇਸ ਨੂੰ DOM ਵਿੱਚ ਜੋੜਨ ਤੋਂ ਪਹਿਲਾਂ, ਇੱਕ ਦਸਤਾਵੇਜ਼ ਦੇ ਟੁਕੜੇ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਪਹਿਲਾਂ ਮੈਮੋਰੀ ਵਿੱਚ ਪੂਰੀ ਸਾਰਣੀ ਬਣਤਰ ਬਣਾ ਕੇ ਸਿੱਧੇ DOM ਹੇਰਾਫੇਰੀ ਦੀ ਗਿਣਤੀ ਨੂੰ ਘਟਾ ਸਕਦੇ ਹੋ। ਇਹ ਰੀਫਲੋ ਅਤੇ ਰੀਪੇਂਟ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਘੱਟ ਕਰਦਾ ਹੈ, ਜੋ ਵੱਡੇ ਪੈਮਾਨੇ ਦੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਹੌਲੀ ਕਰ ਸਕਦਾ ਹੈ।
ਡਾਇਨਾਮਿਕ ਟੇਬਲ ਜਨਰੇਸ਼ਨ ਵਿੱਚ ਇੱਕ ਹੋਰ ਮਹੱਤਵਪੂਰਨ ਤੱਤ ਇਹ ਹੈ ਕਿ ਤੁਸੀਂ ਇਵੈਂਟ ਡੈਲੀਗੇਸ਼ਨ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਦੇ ਹੋ। ਜਦੋਂ ਕਿ ਹਰੇਕ ਬਟਨ ਵਿੱਚ ਵਿਅਕਤੀਗਤ ਇਵੈਂਟ ਸਰੋਤਿਆਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨਾ ਛੋਟੀਆਂ ਟੇਬਲਾਂ ਲਈ ਵਧੀਆ ਕੰਮ ਕਰਦਾ ਹੈ, ਇਹ ਵੱਡੇ ਡੇਟਾਸੈਟਾਂ ਦੇ ਨਾਲ ਪ੍ਰਦਰਸ਼ਨ ਦੀਆਂ ਸਮੱਸਿਆਵਾਂ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦਾ ਹੈ। ਇਸਦੀ ਬਜਾਏ, ਇਵੈਂਟ ਡੈਲੀਗੇਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਨਾਲ ਤੁਸੀਂ ਇੱਕ ਪੇਰੈਂਟ ਐਲੀਮੈਂਟ (ਜਿਵੇਂ ਕਿ ਟੇਬਲ) 'ਤੇ ਇਵੈਂਟਾਂ ਨੂੰ ਸੁਣ ਸਕਦੇ ਹੋ ਅਤੇ ਬਟਨ ਕਲਿੱਕਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਵਧੇਰੇ ਕੁਸ਼ਲਤਾ ਨਾਲ ਕਰ ਸਕਦੇ ਹੋ। ਇਸ ਤਰੀਕੇ ਨਾਲ, ਤੁਸੀਂ ਸਾਰਣੀ ਵਿੱਚ ਸਿਰਫ਼ ਇੱਕ ਇਵੈਂਟ ਸੁਣਨ ਵਾਲੇ ਨੂੰ ਜੋੜਦੇ ਹੋ, ਅਤੇ ਕਲਿੱਕ ਕੀਤੇ ਤੱਤ ਦੀ ID ਦੇ ਆਧਾਰ 'ਤੇ, ਤੁਸੀਂ ਢੁਕਵੀਂ ਕਾਰਵਾਈ ਕਰਨ ਲਈ ਨਿਰਧਾਰਤ ਕਰ ਸਕਦੇ ਹੋ।
ਅੰਤ ਵਿੱਚ, ਪਹੁੰਚਯੋਗਤਾ ਇੱਕ ਹੋਰ ਕਾਰਕ ਹੈ ਜਿਸਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਨਹੀਂ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਜਦੋਂ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਬਟਨ ਜਾਂ ਹੋਰ ਇੰਟਰਐਕਟਿਵ ਐਲੀਮੈਂਟਸ ਤਿਆਰ ਕਰਦੇ ਹੋ, ਤਾਂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਜ਼ਰੂਰੀ ਹੈ ਕਿ ਹਰੇਕ ਤੱਤ ਸਾਰੇ ਉਪਭੋਗਤਾਵਾਂ ਲਈ ਪਹੁੰਚਯੋਗ ਹੋਵੇ, ਜਿਸ ਵਿੱਚ ਸਹਾਇਕ ਤਕਨੀਕਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਾਲੇ ਵੀ ਸ਼ਾਮਲ ਹਨ। ਉਚਿਤ ਜੋੜ ਕੇ aria-ਲੇਬਲ ਜਾਂ ਭੂਮਿਕਾਵਾਂ ਬਟਨਾਂ ਲਈ, ਤੁਸੀਂ ਵਧੇਰੇ ਸੰਮਲਿਤ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਪ੍ਰਦਾਨ ਕਰ ਸਕਦੇ ਹੋ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਸਕ੍ਰੀਨ ਰੀਡਰ ਜਾਂ ਕੀਬੋਰਡ ਨੈਵੀਗੇਸ਼ਨ ਦੇ ਨਾਲ ਤੁਹਾਡੀ ਸਾਰਣੀ ਦੀ ਜਾਂਚ ਕਰਨ ਨਾਲ ਕਿਸੇ ਵੀ ਮੁੱਦੇ ਨੂੰ ਉਜਾਗਰ ਕਰਨ ਵਿੱਚ ਮਦਦ ਮਿਲ ਸਕਦੀ ਹੈ ਕਿ ਕਿਵੇਂ ਇੱਕ ਵਧੇਰੇ ਗਤੀਸ਼ੀਲ, ਪਹੁੰਚਯੋਗ ਵੈਬ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਤੱਤਾਂ ਨਾਲ ਇੰਟਰੈਕਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਡਾਇਨਾਮਿਕ ਬਟਨ ਆਈਡੀ ਜਨਰੇਸ਼ਨ ਲਈ ਆਮ ਸਵਾਲ ਅਤੇ ਹੱਲ
- ਮੈਂ ਹਰੇਕ ਸਾਰਣੀ ਕਤਾਰ ਵਿੱਚ ਬਟਨਾਂ ਲਈ ਵਿਲੱਖਣ ID ਨੂੰ ਕਿਵੇਂ ਯਕੀਨੀ ਬਣਾ ਸਕਦਾ ਹਾਂ?
- ਤੁਸੀਂ ਵਰਤਦੇ ਹੋਏ ਹਰੇਕ ਬਟਨ ਦੀ ID ਨਾਲ ਇੱਕ ਵਿਲੱਖਣ ਸੂਚਕਾਂਕ ਜੋੜ ਸਕਦੇ ਹੋ let btnId = "button" + i ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਆਈਡੀ ਬਣਾਉਣ ਲਈ ਇੱਕ ਲੂਪ ਦੇ ਅੰਦਰ।
- ਦੀ ਵਰਤੋਂ ਕਰ ਰਿਹਾ ਹੈ innerHTML ਬਟਨ ਬਣਾਉਣ ਲਈ ਸੁਰੱਖਿਅਤ ਹੈ?
- ਜਦਕਿ innerHTML ਵਰਤਣ ਲਈ ਸਧਾਰਨ ਹੈ, ਇਹ ਕਰਾਸ-ਸਾਈਟ ਸਕ੍ਰਿਪਟਿੰਗ (XSS) ਵਰਗੇ ਸੁਰੱਖਿਆ ਜੋਖਮਾਂ ਨੂੰ ਪੇਸ਼ ਕਰ ਸਕਦਾ ਹੈ। ਇਸਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ document.createElement() ਸੁਰੱਖਿਅਤ ਤੱਤ ਬਣਾਉਣ ਲਈ.
- ਮੈਂ ਬਹੁਤ ਸਾਰੇ ਬਟਨਾਂ ਨਾਲ ਵੱਡੀਆਂ ਟੇਬਲਾਂ ਲਈ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਕਿਵੇਂ ਸੁਧਾਰ ਸਕਦਾ ਹਾਂ?
- ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ document fragments ਮੈਮੋਰੀ ਵਿੱਚ ਸਾਰਣੀ ਬਣਾਉਣ ਲਈ ਅਤੇ event delegation ਬਟਨ ਕਲਿੱਕਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਵੱਡੇ ਪੈਮਾਨੇ ਦੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਕਾਰਗੁਜ਼ਾਰੀ ਵਿੱਚ ਸੁਧਾਰ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
- ਇਵੈਂਟ ਡੈਲੀਗੇਸ਼ਨ ਕੀ ਹੈ, ਅਤੇ ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ?
- ਇਵੈਂਟ ਡੈਲੀਗੇਸ਼ਨ ਇੱਕ ਸਿੰਗਲ ਈਵੈਂਟ ਲਿਸਨਰ ਨੂੰ ਇੱਕ ਪੇਰੈਂਟ ਐਲੀਮੈਂਟ ਨਾਲ ਜੋੜਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਇੱਕ ਟੇਬਲ, ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਇਵੈਂਟ ਦੇ ਆਧਾਰ 'ਤੇ ਬਟਨ ਕਲਿੱਕਾਂ ਦਾ ਪਤਾ ਲਗਾ ਸਕਦੇ ਹੋ। target ਵਿਸ਼ੇਸ਼ਤਾ, ਵਿਅਕਤੀਗਤ ਇਵੈਂਟ ਸੁਣਨ ਵਾਲਿਆਂ ਦੀ ਸੰਖਿਆ ਨੂੰ ਘਟਾਉਂਦੀ ਹੈ।
- ਮੈਂ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਤਿਆਰ ਕੀਤੇ ਬਟਨਾਂ ਨੂੰ ਹੋਰ ਪਹੁੰਚਯੋਗ ਕਿਵੇਂ ਬਣਾ ਸਕਦਾ ਹਾਂ?
- ਜੋੜ ਰਿਹਾ ਹੈ aria-label ਜਾਂ role ਬਟਨਾਂ ਦੇ ਗੁਣ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹਨ ਕਿ ਉਹ ਸਕ੍ਰੀਨ ਰੀਡਰ ਵਰਗੀਆਂ ਸਹਾਇਕ ਤਕਨੀਕਾਂ ਵਾਲੇ ਉਪਭੋਗਤਾਵਾਂ ਲਈ ਪਹੁੰਚਯੋਗ ਹਨ।
JavaScript ਵਿੱਚ ਡਾਇਨਾਮਿਕ ਆਈਡੀ ਜਨਰੇਸ਼ਨ ਬਾਰੇ ਅੰਤਿਮ ਵਿਚਾਰ
JavaScript ਸਾਰਣੀਆਂ ਵਿੱਚ ਡਾਇਨਾਮਿਕ ਆਈਡੀ ਜਨਰੇਸ਼ਨ ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਅਸੀਂ ਬਟਨਾਂ ਵਰਗੇ ਪਰਸਪਰ ਪ੍ਰਭਾਵੀ ਤੱਤਾਂ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਦੇ ਹਾਂ। ਕਤਾਰ ਸੂਚਕਾਂਕ ਦੇ ਆਧਾਰ 'ਤੇ ਵਿਲੱਖਣ ID ਨਿਰਧਾਰਤ ਕਰਕੇ, ਅਸੀਂ ਖਾਸ ਇਵੈਂਟਾਂ ਨੂੰ ਟਰਿੱਗਰ ਕਰਨਾ ਅਤੇ ਉਪਭੋਗਤਾ ਇੰਪੁੱਟ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਸੰਭਾਲਣਾ ਆਸਾਨ ਬਣਾਉਂਦੇ ਹਾਂ।
DOM ਹੇਰਾਫੇਰੀ ਅਤੇ ਇਵੈਂਟ ਹੈਂਡਲਿੰਗ ਵਰਗੇ ਵਧੀਆ ਅਭਿਆਸਾਂ ਦੀ ਵਰਤੋਂ ਨਾਲ, ਇਹ ਪਹੁੰਚ ਗਤੀਸ਼ੀਲ ਟੇਬਲਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ ਇੱਕ ਲਚਕਦਾਰ, ਸਕੇਲੇਬਲ ਤਰੀਕਾ ਪੇਸ਼ ਕਰਦੀ ਹੈ। ਇਹ ਤੁਹਾਡੇ JavaScript ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਬਿਹਤਰ ਪ੍ਰਦਰਸ਼ਨ ਅਤੇ ਵਧੇਰੇ ਸੁਰੱਖਿਅਤ, ਸਾਂਭਣਯੋਗ ਕੋਡ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ।
JavaScript ਵਿੱਚ ਡਾਇਨਾਮਿਕ ਆਈਡੀ ਜਨਰੇਸ਼ਨ ਲਈ ਸਰੋਤ ਅਤੇ ਹਵਾਲਾ ਸੈਕਸ਼ਨ
- ਇਹ ਲੇਖ JavaScript ਦਸਤਾਵੇਜ਼ਾਂ ਤੋਂ ਵਿਹਾਰਕ ਅਮਲਾਂ ਅਤੇ ਕੋਡ ਸੰਦਰਭਾਂ ਅਤੇ DOM ਹੇਰਾਫੇਰੀ ਲਈ ਵਧੀਆ ਅਭਿਆਸਾਂ 'ਤੇ ਅਧਾਰਤ ਹੈ। MDN ਵੈੱਬ ਡੌਕਸ .
- ਗਤੀਸ਼ੀਲ ਤੱਤਾਂ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਹੈਂਡਲ ਕਰਨ ਲਈ ਐਡਵਾਂਸਡ JavaScript ਟਿਊਟੋਰਿਅਲਸ ਤੋਂ ਵਾਧੂ ਜਾਣਕਾਰੀ ਇਕੱਠੀ ਕੀਤੀ ਗਈ ਸੀ। JavaScript.info .
- ਵੈੱਬ ਓਪਟੀਮਾਈਜੇਸ਼ਨ 'ਤੇ ਮਾਹਰ ਵਿਕਾਸ ਚਰਚਾਵਾਂ ਤੋਂ ਪ੍ਰਦਰਸ਼ਨ ਅਤੇ ਪਹੁੰਚਯੋਗਤਾ ਸੁਝਾਅ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਸਨ। CSS ਟ੍ਰਿਕਸ .