আইডি বা শ্রেণি নেই এমন উপাদানগুলির জন্য এক্সপথ


89

আইডি বৈশিষ্ট্য ছাড়াই আমি কীভাবে সমস্ত টিআর উপাদান পেতে পারি?

<tr id="name">...</tr>
<tr>...</tr>
<tr>...</tr>

ধন্যবাদ

উত্তর:


148

অনেকটাই অকপট:

//tr[not(@id) and not(@class)]

এটি আপনাকে সমস্ত trউপাদান idএবং classবৈশিষ্ট্য উভয়ই অবিচ্ছিন্নভাবে দেবে। আপনি যদি trদুটি উপাদানের মধ্যে একটির অভাব থাকা সমস্ত উপাদান চান তবে এর orপরিবর্তে ব্যবহার করুন and:

//tr[not(@id) or not(@class)]

যখন অ্যাট্রিবিউট এবং উপাদানগুলি এইভাবে ব্যবহৃত হয়, যদি অ্যাট্রিবিউট বা উপাদানটির কোনও মান থাকে তবে এটিকে সত্য বলে মনে করা হয়। যদি এটি অনুপস্থিত থাকে তবে এটির মতো আচরণ করা হবে এটি মিথ্যা।


22

আপনি একটি উপাদান যে খুঁজছেন হয়েছে বর্গ aকিন্তু না ক্লাস আছে b, আপনি নিম্নলিখিতগুলি করতে পারেন।

//*[contains(@class, 'a') and not(contains(@class, 'b'))]

অথবা আপনি নিশ্চিত হতে চান আংশিক মিল না।

//*[contains(concat(' ', normalize-space(@class), ' '), ' some-class ') and 
not(contains(concat(' ', normalize-space(@class), ' '), ' another-class '))]


-4
if (elm.hasAttribute('id')) { 
//if id - implement here
    } else if (elm.hasAttribute('class')) { 
        //if class - implement here
    } else { 
        for (i = 1, sib = elm.previousSibling; sib; sib = sib.previousSibling) { 
            if (sib.localName == elm.localName)
                i++;
        }; 
        segs.unshift(elm.localName.toLowerCase() + '[' + i + ']'); 
    }
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.