jQuery: .attr () এর মাধ্যমে দুটি বৈশিষ্ট্য যুক্ত করা; পদ্ধতি


104

সম্পাদনা করুন:

আমি শিখেছি যে অন্য মান ব্যবহার করে _blank নতুন উইন্ডো / ট্যাব খুলতে মোবাইল ব্রাউজারগুলিতে কাজ করে না।

উদাহরণস্বরূপ, যদি আপনার একটি নতুন উইন্ডো / ট্যাব খোলার প্রয়োজন হয়:

  • এই কাজ করে সমস্ত ব্রাউজার, এমনকি মোবাইল ব্রাউজারে: target="_blank"

  • এই কাজ না করে মোবাইল ব্রাউজারে, কিন্তু এটা কাজ করে ডেস্কটপ ব্রাউজারে: target="new"

-

যদিও আমার এটির একটি কাজ করছে, আমি নিশ্চিত না যে এটি করার আরও ভাল কোনও উপায় আছে কিনা, বা যদি আমার যেভাবে এটি পাওয়া যায় তা সঠিক / একমাত্র উপায়।

মূলত আমি যা করছি তা সমস্ত target="_new"বা target="_blank"বৈশিষ্ট্যের মানগুলিকে প্রতিস্থাপন করা হচ্ছে target="nw", এইভাবে কেবলমাত্র একটি নতুন উইন্ডো খোলা থাকবে এবং এতে একাধিক উইন্ডো ব্যবহারকারীর অভিভূত না হওয়ার জন্য অন্যান্য সমস্ত নতুন উইন্ডো খোলা থাকবে।

আমিও "একটি যোগ করছি একটি নতুন উইন্ডোতে খোলে "title="" বৈশিষ্ট্য যুক্ত করছি।

সুতরাং আমি যে সমাধানটি তৈরি করেছি তা হ'ল:

$("a[target='_blank'], a[target='_new']").attr('target','nw').attr('title','Opens in a new window');

দুটি .attr();পদ্ধতি লক্ষ্য করুন ।

এটি কি কোনও উপাদানটিতে দুটি বৈশিষ্ট্য যুক্ত করার সঠিক উপায়?

আমি চেষ্টা করেছি .attr('target','nw','title','Opens in a new window')কিন্তু কাজ হয়নি।

আমি জিজ্ঞাসার কারণটি হ'ল ডিওয়াইআর (নিজেকে পুনরাবৃত্তি করবেন না) নীতির কারণে, তাই যদি আমি আমার কোডটি উন্নত করতে পারি তবে দুর্দান্ত, যদি তা না হয় তবে তা সেটাই।

ধন্যবাদ।


@zzzzBov, হ্যাঁ, আপনি ঠিক বলেছেন, তথ্যের জন্য ধন্যবাদ।
রিকার্ডো জিয়া

আমি একই মান রাখতে দুটি বৈশিষ্ট্য নির্ধারণ করতে চেয়েছিলাম যাতে লজ্জা .attr('a,b','value')কাজ করে না। আমিও স্থির হয়েছি .attr('a',1).attr('b',1)। আপনার ক্ষেত্রে, নতুন উইন্ডোজের উপর কম নির্ভর করা অন্য পদ্ধতি হতে পারে, যদিও @ricardozea: পি
অ্যালাস্টার

উত্তর:


228

কাজ করা উচিত:

.attr({
    target:"nw", 
    title:"Opens in a new window",
    "data-value":"internal link" // attributes which contain dash(-) should be covered in quotes.
});

দ্রষ্টব্য :

" একাধিক বৈশিষ্ট্য নির্ধারণ করার সময়, গুণাবলীর নামের আশেপাশের উদ্ধৃতিগুলি alচ্ছিক।

সতর্কতা : 'শ্রেণি' বৈশিষ্ট্যটি সেট করার সময় আপনার অবশ্যই সর্বদা উদ্ধৃতি ব্যবহার করা উচিত!

.Ttr এর জন্য jQuery ডকুমেন্টেশন (সেপ্টেম্বর 2016) থেকে :

ডকুমেন্ট.ক্রেটএলিমেন্ট () এর মাধ্যমে তৈরি কোনও ইনপুট বা বোতাম উপাদানটিতে টাইপ অ্যাট্রিবিউটটি পরিবর্তন করার চেষ্টা করা ইন্টারনেট এক্সপ্লোরার 8 বা তার বেশি বয়সের ক্ষেত্রে একটি ব্যতিক্রম ছুঁড়ে ফেলবে।

সম্পাদনা করুন :
ভবিষ্যতের রেফারেন্সের জন্য ... একটি একক বৈশিষ্ট্য পেতে আপনি ব্যবহার করবেন

var strAttribute = $(".something").attr("title");

একটি একক বৈশিষ্ট্য সেট করতে আপনি ব্যবহার করবেন

$(".something").attr("title","Test");

একাধিক বৈশিষ্ট্য সেট করতে আপনাকে everything ... in এ সবকিছু মোড়ানো দরকার need

$(".something").attr( { title:"Test", alt:"Test2" } );

সম্পাদনা করুন - আপনি যদি চেকবক্স থেকে 'পরীক্ষিত' বৈশিষ্ট্যটি পেতে / সেট করার চেষ্টা করছেন ...

আপনার jQuery 1.6+ হিসাবে ব্যবহার করতে হবেprop()

.prop () পদ্ধতিটি স্পষ্টভাবে সম্পত্তি মান পুনরুদ্ধার করার একটি উপায় সরবরাহ করে, যখন .attr () বৈশিষ্ট্যগুলি পুনরুদ্ধার করে।

... চেক করা গুণাবলী সম্পর্কে মনে রাখা সবচেয়ে গুরুত্বপূর্ণ ধারণাটি হ'ল এটি চেক করা সম্পত্তির সাথে মিল নয়। বৈশিষ্ট্যটি আসলে ডিফল্টচেকড সম্পত্তিটির সাথে মিলে যায় এবং কেবলমাত্র চেকবক্সের প্রাথমিক মান সেট করতে ব্যবহার করা উচিত। চেক করা বৈশিষ্ট্যের মান চেকবাক্সের অবস্থার সাথে পরিবর্তিত হয় না, যখন পরীক্ষিত সম্পত্তিটি করে

সুতরাং একটি চেকবক্সের পরীক্ষিত স্থিতি পেতে আপনার ব্যবহার করা উচিত:

$('#checkbox1').prop('checked'); // Returns true/false

বা চেকবক্সটি চেক বা চেক না করা হিসাবে সেট করা আপনার ব্যবহার করা উচিত:

$('#checkbox1').prop('checked', true); // To check it
$('#checkbox1').prop('checked', false); // To uncheck it

1
আহা! ঠিক আছে, আমি এটিই উল্লেখ করছি। ব্যাখ্যার জন্য ধন্যবাদ, এজন্যই আমি আপনার উত্তর ডেরিকের চেয়ে বেছে নিয়েছি। ধন্যবাদ আদম। পুনশ্চ. আমি আপনার উত্তরটি 7 মিনিটের মধ্যে গ্রহণ করব, এখনই এটি আমাকে গ্রহণ করতে দিচ্ছে না।
রিকার্ডো জিয়া

সংশোধন: উপাদানটি নতুনভাবে তৈরি করা হয় এবং তবুও ডিওমে যোগ না করা হয় তবে আপনি IE তে টাইপ বৈশিষ্ট্য পরিবর্তন করতে পারেন।
আকাশ কাভা

একাধিক অ্যাট্রিবিউট সেট করতে আপনাকে সমস্ত কিছু {... in ... এ মোড়ানো দরকার} ... কীগুলিকে উদ্ধৃতিতে থাকা দরকার নেই?
Gcamara14


9

এ্যাঙ্কার ট্যাগের চেয়ে বুটস্ট্র্যাপ বৈশিষ্ট্যাবলী যুক্ত করতে পারলে এটি আপনাকে অনেক সাহায্য করবে

 $(".dropdown a").attr({
      class: "dropdown-toggle",
     'data-toggle': "dropdown",
      role: "button",
     'aria-haspopup': "true",
     'aria-expanded': "true"
});


1

কোঁকড়া বন্ধনী ব্যবহার করুন এবং আপনি যে বৈশিষ্ট্যটি ভিতরে যুক্ত করতে চান তা রাখুন

উদাহরণ:

$('#objId').attr({
    target: 'nw',
    title: 'Opens in a new window'
});

0
Multiple Attribute

var tag = "tag name";
createNode(tag, target, attribute);

createNode: function(tag, target, attribute){
    var tag = jQuery("<" + tag + ">");
    jQuery.each(attribute, function(i,v){
        tag.attr(v);
    });
    target.append(tag);
    tag.appendTo(target);
}
var attribute = [
    {"data-level": "3"},
];

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