আমি কীভাবে জাভাস্ক্রিপ্ট ব্যবহার করে একটি ডিভি তৈরি করতে এবং স্টাইল করতে পারি?


174

আমি কীভাবে জাভাস্ক্রিপ্টটি সামগ্রীতে একটি ডিভিও তৈরি করতে এবং স্টাইল করতে (এবং পৃষ্ঠায় সংযোজন) করতে পারি? আমি জানি এটা সম্ভব, কিন্তু কিভাবে?


উত্তর:


273

var div = document.createElement("div");
div.style.width = "100px";
div.style.height = "100px";
div.style.background = "red";
div.style.color = "white";
div.innerHTML = "Hello";

document.getElementById("main").appendChild(div);
<body>
<div id="main"></div>
</body>

var div = document.createElement("div");
div.style.width = "100px";
div.style.height = "100px";
div.style.background = "red";
div.style.color = "white";
div.innerHTML = "Hello";

document.getElementById("main").appendChild(div);
OR
document.body.appendChild(div);

পরিবর্তে অভিভাবক রেফারেন্স ব্যবহার করুন document.body


আমি জানি এটি পুরানো তবে একটি শ্রেণি এবং সম্পর্কিত সিএসএস যুক্ত করা আরও আধুনিক পদ্ধতির হতে পারে, তবে এটি একটি আলাদা প্রশ্ন।
মার্ক স্কুলথিস

63

আপনি এটি কীভাবে করছেন তার উপর নির্ভর করে। খাঁটি জাভাস্ক্রিপ্ট:

var div = document.createElement('div');
div.innerHTML = "my <b>new</b> skill - <large>DOM maniuplation!</large>";
// set style
div.style.color = 'red';
// better to use CSS though - just set class
div.setAttribute('class', 'myclass'); // and make sure myclass has some styles in css
document.body.appendChild(div);

Jquery ব্যবহার করে একই কাজ করা বিব্রতকরভাবে সহজ:

$('body')
.append('my DOM manupulation skills dont seem like a big deal when using jquery')
.css('color', 'red').addClass('myclass');

চিয়ার্স!


4
আমি বলব না যে jQuery সহজ, এটি বেশিরভাগই ছোট just তবে, ক্লাসের জন্য setAttribute ব্যবহার না করে আমি div.className = 'মাইক্র্লাস' ব্যবহার করব;
দান উইলমার

4
আপনি ভারী জাভাস্ক্রিপ্ট ইউআইগুলি বিকাশ শুরু করার পরে jQuery অনেক সহজ। এটি দেওয়া থেকে প্রোগ্রামিংয়ের কার্যকরী মডেলকে আলিঙ্গন করে যে, এটি আপনার কোডটিকে চেহারা হিসাবে দেখায় এবং কার্যকরভাবে আচরণ করে। কেস বিন্দুতে:
এজাক্স নেটিভ জেএস

3
JQuery "ফাংশনাল" কল করা একটি প্রধান প্রসারিত। আপনি কীভাবে কার্যকরী মডেলটি সংজ্ঞায়িত করেন এবং আপনি কীভাবে jQuery এটিকে জড়িয়ে ধরেছেন বলে মনে করেন?

আপনার অ্যাপ্লিকেশনটিতে 10 লাইন থাকলে jquery দুর্দান্ত। আপনি যদি এর সাথে কোনও গুরুতর অ্যাপ্লিকেশন তৈরি করেন তবে জাহান্নামে আপনাকে স্বাগতম। ব্রেভিটি স্বয়ংক্রিয়ভাবে ভাল প্রোগ্রামিং করছে না /
Hal50000

এখানে jQuery অংশ যুক্ত হয় না divতাই প্রশ্নের উত্তর দেয় না
মার্ক Schultheiss

10

অন্যান্য উত্তরগুলি এখানে কাজ করার সময়, আমি লক্ষ্য করেছি আপনি সামগ্রী সহ একটি ডিভ চেয়েছিলেন। সুতরাং অতিরিক্ত সামগ্রী সহ আমার সংস্করণটি এখানে। নীচে জেএসফিডেল লিঙ্ক।

জাভাস্ক্রিপ্ট (মন্তব্য সহ):

// Creating a div element
var divElement = document.createElement("Div");
divElement.id = "divID";

// Styling it
divElement.style.textAlign = "center";
divElement.style.fontWeight = "bold";
divElement.style.fontSize = "smaller";
divElement.style.paddingTop = "15px";

// Adding a paragraph to it
var paragraph = document.createElement("P");
var text = document.createTextNode("Another paragraph, yay! This one will be styled different from the rest since we styled the DIV we specifically created.");
paragraph.appendChild(text);
divElement.appendChild(paragraph);

// Adding a button, cause why not!
var button = document.createElement("Button");
var textForButton = document.createTextNode("Release the alert");
button.appendChild(textForButton);
button.addEventListener("click", function(){
    alert("Hi!");
});
divElement.appendChild(button);

// Appending the div element to body
document.getElementsByTagName("body")[0].appendChild(divElement);

এইচটিএমএল:

<body>
  <h1>Title</h1>
  <p>This is a paragraph. Well, kind of.</p>
</body>

সিএসএস:

h1 { color: #333333; font-family: 'Bitter', serif; font-size: 50px; font-weight: normal; line-height: 54px; margin: 0 0 54px; }

p { color: #333333; font-family: Georgia, serif; font-size: 18px; line-height: 28px; margin: 0 0 28px; }

দ্রষ্টব্য: সিএসএস লাইনগুলি রাতাল টোমালের কাছ থেকে ধার করা

জেএসফিডাল: https://jsfiddle.net/Rani_Kheir/erL7aowz/


9

এই সমাধান jquery লাইব্রেরি ব্যবহার করে

$('#elementId').append("<div class='classname'>content</div>");

14
মজার চেহারা জাভাস্ক্রিপ্ট।
TheCarver

5

এখানে আমি একটি সমাধানটি ব্যবহার করব:

var div = '<div id="yourId" class="yourClass" yourAttribute="yourAttributeValue">blah</div>';

আপনি যদি ভেরিয়েবলের উপর ভিত্তি করে বিশিষ্টতা এবং / অথবা গুণাবলী মানগুলি চান:

var id = "hello";
var classAttr = "class";
var div = '<div id='+id+' '+classAttr+'="world" >Blah</div>';

তারপরে, শরীরে সংযোজন:

document.getElementsByTagName("body").innerHTML = div;

পাই হিসাবে সহজ।


এইচটিএমএল পৃষ্ঠায় আমার কী লেখা উচিত?
মোঃ নাহিদুজ্জামান রোজ

1
[0]ব্যবহার করার সময় আমাদের নির্দিষ্ট করা দরকার getElementsByTagName()। (সম্পাদনার জন্য খুব সংক্ষিপ্ত)
এইচকে জেফার

2

আপনি এটি তৈরি করতে পারেন

board.style.cssText = "position:fixed;height:100px;width:100px;background:#ddd;"

document.getElementById("main").appendChild(board);

সম্পূর্ণ চলমান স্নিপেট:

var board;
board= document.createElement("div");
board.id = "mainBoard";
board.style.cssText = "position:fixed;height:100px;width:100px;background:#ddd;"
    
document.getElementById("main").appendChild(board);
<body>
<div id="main"></div>
</body>


2

আইডি নাম দিয়ে ডিভ তৈরি করুন

var divCreator=function (id){
newElement=document.createElement("div");
newNode=document.body.appendChild(newElement);
newNode.setAttribute("id",id);
}

বিভাগে পাঠ্য যুক্ত করুন

var textAdder = function(id, text) {
target = document.getElementById(id)
target.appendChild(document.createTextNode(text));
}

পরীক্ষার কোড

divCreator("div1");
textAdder("div1", "this is paragraph 1");

আউটপুট

this is paragraph 1

1

আমি আরেকটি জিনিস করতে চাই তা হল একটি অবজেক্ট তৈরি করা এবং তারপরে অবজেক্টের মধ্য দিয়ে লুপিং করা এবং স্টাইলগুলি সেট করা কারণ এটি প্রতিটি একক স্টাইলকে একের পর এক লেখার জন্য ক্লান্তিকর হতে পারে।

var bookStyles = {
   color: "red",
   backgroundColor: "blue",
   height: "300px",
   width: "200px"
};

let div = document.createElement("div");

for (let style in bookStyles) {
 div.style[style] = bookStyles[style];
}

body.appendChild(div);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.