জাভাস্ক্রিপ্ট ব্যবহার করে ইনলাইন স্টাইল যুক্ত করুন


91

আমি এই কোডটি একটি গতিশীলভাবে তৈরি ডিভ উপাদানটিতে যুক্ত করার চেষ্টা করছি

style = "width:330px;float:left;" 

যা কোড তৈরি করে গতিশীল divহয়

var nFilter = document.createElement('div');
nFilter.className = 'well';
nFilter.innerHTML = '<label>' + sSearchStr + '</label>';

আমার ধারণাটি পরে শৈলী যুক্ত করা হয় < div class="well"তবে আমি কীভাবে এটি করব তা আমি জানি না।


4
কি পার্থক্য এটা করতে না? ইনলাইন শৈলীতে সর্বদা সর্বোচ্চ সুনির্দিষ্টতা থাকবে।
অ্যাম্বারল্যাম্পস

ডিভিটি গতিশীলভাবে তৈরি হওয়ার কারণে, আমি এটি সম্পূর্ণ জাভাস্ক্রিপ্ট লাইব্রেরি স্ক্রিপ্ট থেকে স্ট্যাটিক ব্যবহার করতে পারি না
কার্টিস ক্রিউ

হতে পারে এটি একটি এক্সওয়াই সমস্যা। আপনি কি অর্জন করার চেষ্টা করছেন? আপনি nFilter.style.width = '330px'; nFilter.style.float = 'left';কি খুঁজছেন?
অ্যাম্বারল্যাম্পস

উত্তর:


127
nFilter.style.width = '330px';
nFilter.style.float = 'left';

এটি উপাদানটিতে একটি ইনলাইন শৈলী যুক্ত করা উচিত।


37

আপনি এটি সরাসরি স্টাইলে করতে পারেন:

var nFilter = document.createElement('div');
nFilter.className = 'well';
nFilter.innerHTML = '<label>'+sSearchStr+'</label>';

// Css styling
nFilter.style.width = "330px";
nFilter.style.float = "left";

// or
nFilter.setAttribute("style", "width:330px;float:left;");

6
সিএসএস স্টাইলিং নয়, সেটএট্রিবিউট সহ তৃতীয় বিকল্পটি আমার পক্ষে নিখুঁতভাবে কাজ করেছে।
মিল্কার্সারাক

16

JQuery ব্যবহার:

$(nFilter).attr("style","whatever");

অন্যথায়:

nFilter.setAttribute("style", "whatever");

কাজ করা উচিত


6
এই ক্ষেত্রে JQuery ব্যবহার করা অপ্রয়োজনীয়
ধর্মমান

10
তিনি জিকুয়ারি ছাড়াই একটি বিকল্প সমাধান দেন। ডাউনভোটের দরকার দেখবেন না।
টার্মটো

সঠিক, অনুরোধ ভ্যানিলা জেএস সমাধান বিকল্প সমাধান? যার জন্য যার কাছে জিজ্ঞাসা করা হয়নি সেটিতে কোনও লাইব্রেরি জড়িত নয় যার উল্লেখ নেই?
সিলভিও লাঙ্গেরিয়াস


10
var div = document.createElement('div');
div.setAttribute('style', 'width:330px; float:left');
div.setAttribute('class', 'well');
var label = document.createElement('label');
label.innerHTML = 'YOUR TEXT HERE';
div.appendChild(label);

7

আমার পছন্দ মতো সেটএট্রিবিউট ব্যবহার করে কয়েকটি লোকের উদাহরণ রয়েছে। তবে এটি ধরে নিয়েছে যে আপনার কাছে বর্তমানে কোনও স্টাইল সেট নেই। আমি সম্ভবত কিছু করতে চাই:

nFilter.setAttribute('style', nFilter.getAttribute('style') + ';width:330px;float:left;');

বা এটির মতো সহায়ক কার্যে পরিণত করুন:

function setStyle(el, css){
  el.setAttribute('style', el.getAttribute('style') + ';' + css);
}

setStyle(nFilter, 'width:330px;float:left;');

এটি নিশ্চিত করে তোলে যে আপনি এটিতে ধারাবাহিকভাবে শৈলী যুক্ত করতে পারেন এবং এটি সর্বদা বর্তমান শৈলীতে সংযুক্ত করে সেট করা কোনও স্টাইল সরিয়ে ফেলবে না। এটি একটি অতিরিক্ত আধা কোলন যুক্ত করে যাতে কোনও শৈলীতে যদি কখনও অনুপস্থিত থাকে তবে এটি সম্পূর্ণরূপে সীমিত হয়েছে তা নিশ্চিত করার জন্য এটি অন্যটিকে যুক্ত করে।



3

আপনি যদি প্রতিটি সিএসএস সম্পত্তি লাইন লাইন যুক্ত করতে না চান তবে আপনি এই জাতীয় কিছু করতে পারেন:

document.body.insertAdjacentHTML('afterbegin','<div id="div"></div>');

/**
 * Add styles to DOM element
 * @element DOM element
 * @styles object with css styles
 */
function addStyles(element,styles){
  for(id in styles){
    element.style[id] = styles[id];
  }
}

// usage
var nFilter = document.getElementById('div');
var styles = {
  color: "red"
  ,width: "100px"
  ,height: "100px"
  ,display: "block"
  ,border: "1px solid blue"
}
addStyles(nFilter,styles);




-1

আপনি ক্লাস তৈরি করেছেন তা এখন সিএসএস দিয়ে করুন। .ওয়েল {প্রস্থ: 330px; ভাসা: বাম; }

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