অ্যাঙ্কর (ক) ট্যাগ থেকে স্থানীয় href মান পান


121

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

<a onclick="return follow(this);" href="sec/IF00.html"></a>

এবং দেখতে একটি জাভাস্ক্রিপ্ট ফাংশন

baseURL = 'http://www.someotherdomain.com/';
function follow(item) {
    location.href = baseURL + item.href;
}

আমি আশা করব যে item.hrefএটি "সেকেন্ড / আইএফ 100 এইচটিএমএল" এর একটি সংক্ষিপ্ত স্ট্রিং ফিরে আসবে, তবে পরিবর্তে এটি সম্পূর্ণ href, "http://www.thecurrentdomain.com/sec/IF00.html" ফিরিয়ে দেয়। অ্যাঙ্কর <a>ট্যাগে রাখার মতো আমি কীভাবে ছোট্ট href টেনে আনতে পারি ? না আমি প্রাকৃতিক এইচটিএমএল আচরণের মাধ্যমে তা হারাতে পারি?

আমি মনে করি এটি করার জন্য আমি একটি স্ট্রিং ম্যানিপুলেশন ব্যবহার করতে পারি তবে এটি জটিল হয়ে ওঠে কারণ আমার স্থানীয় পৃষ্ঠাটি আসলে "http://www.thecurrentdomain.com/somedir/somepath/sec/IF00.html" হতে পারে এবং আমার href ক্ষেত্রটি হতে পারে বা এটিতে একটি উপ-ডিরেক্টরি নাও থাকতে পারে (প্রাক্তন href="page.html"বনামের জন্য href="sub/page.html"), তাই আমি সর্বদা শেষ স্ল্যাশের আগে প্রতিটি জিনিস সরাতে পারি না।

আপনি ভাবতে পারেন যে আমি কেন এটি অনুরোধ করছি এবং এটি কারণ এটি পৃষ্ঠাটি আরও পরিষ্কার করে দেবে। যদি কেবলমাত্র সংক্ষিপ্ত href (যেমন অ্যাঙ্কর <a>ট্যাগে রাখা) পাওয়া সম্ভব না হয়, তবে আমি সম্ভবত ট্যাগের মতো একটি অতিরিক্ত ক্ষেত্র সন্নিবেশ করতে পারতাম link="sec/IF00.html", তবে আবারও, এটি একটি সামান্য বার্তাবহ হবে।

উত্তর:


255

নীচের কোডটি পুরো পথ পায়, যেখানে অ্যাঙ্কর পয়েন্ট করে:

document.getElementById("aaa").href; // http://example.com/sec/IF00.html

নীচের একটির সাথে গুণকের মান পাওয়া যায় href:

document.getElementById("aaa").getAttribute("href"); // sec/IF00.html

6

document.getElementById("link").getAttribute("href"); আপনার যদি একাধিক <a>ট্যাগ থাকে তবে উদাহরণস্বরূপ:

<ul>
  <li>
    <a href="1"></a>
  </li>
  <li>
    <a href="2"></a>
  </li>
  <li>
    <a href="3"></a>
  </li>
</ul>

আপনি এটি এর মতো করে করতে পারেন: ট্যাগগুলির document.getElementById("link")[0].getAttribute("href");প্রথম অ্যারে অ্যাক্সেস করতে <a>, বা আপনি যে শর্ত করেন তা নির্ভর করে।


2

এই কোডটি ডকুমেন্টের সমস্ত লিঙ্ক পেতে আমার পক্ষে কাজ করে

var links=document.getElementsByTagName('a'), hrefs = [];
for (var i = 0; i<links.length; i++)
{   
    hrefs.push(links[i].href);
}

0

Href সম্পত্তি কোনও লিঙ্কের href বৈশিষ্ট্যের মান সেট করে বা প্রদান করে।

  var hello = domains[i].getElementsByTagName('a')[0].getAttribute('href');
    var url="https://www.google.com/";
    console.log( url+hello);

-2
document.getElementById("aaa").href; //for example: http://example.com/sec/IF00.html

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