بدست آوردن متغییر

amin2dpr

Well-Known Member
سلام چطور می تونم با جوا اسکریپت این متغییر value رو به دست بیارم؟

HTML:
<div class="sample-row-xxxxx">
<div class="co-1 xxxxxx">value</div>
</div>
<div class="sample-row-xxxxx">
<div class="co-1 xxxxxx">value</div>
</div>
<div class="sample-row-xxxxx">
<div class="co-1 xxxxxx">value</div>
</div>
یه همچین کد html مربوط به یک صفحه هست که اگه توجه کنید در کد بالا مغادیری به نام xxxxxx وجود داره که در متن اصلی این ایکس ها ثابت نیستن و نمی دونم چطور مقدار value رو ازشون بگیرم
حالا چطور می تونم مقدار value رو بدست بیارم؟ لطفا راهنمایی کنید
 

the_king

مدیرکل انجمن
سلام چطور می تونم با جوا اسکریپت این متغییر value رو به دست بیارم؟

HTML:
<div class="sample-row-xxxxx">
<div class="co-1 xxxxxx">value</div>
</div>
<div class="sample-row-xxxxx">
<div class="co-1 xxxxxx">value</div>
</div>
<div class="sample-row-xxxxx">
<div class="co-1 xxxxxx">value</div>
</div>
یه همچین کد html مربوط به یک صفحه هست که اگه توجه کنید در کد بالا مغادیری به نام xxxxxx وجود داره که در متن اصلی این ایکس ها ثابت نیستن و نمی دونم چطور مقدار value رو ازشون بگیرم
حالا چطور می تونم مقدار value رو بدست بیارم؟ لطفا راهنمایی کنید
کد:
<!DOCTYPE html>
<html>
<body>
<div class="sample-row-xxxxx">
<div class="co-1 xxxxxx">value</div>
</div>
<div class="sample-row-xxxxx">
<div class="co-1 xxxxxx">value</div>
</div>
<div class="sample-row-xxxxx">
<div class="co-1 xxxxxx">value</div>
</div>

<button onclick="myFunction()">Try it</button>

<script>
function myFunction()
{
    var x = document.getElementsByTagName("div");
    for(var i = 0; i < x.length; i++)
    {
        x[i].innerHTML = "div " + (i + 1);
    }
}
</script>

</body>
</html>
 

saarang733

New Member
سلام. چون اسمه المنت های شما متغیر هست باید از regex استفاده کنید.
اول لیسته تمامه المنت های موجود در صفحه رو بیگیرد:

JavaScript:
let allElements = document.getElementByTagName('*');
بعد کلاسه تک تک المنت ها رو چک کنید ببینید با کلمه ی simple-row شروع می شن. اگه می شدن بعد برین سراغه فرزند هاش و ببینید کدومشون کلاسه co-1 رو داره و از اون ها value رو بگیرین
JavaScript:
// get all the elements and convert to array so you can use forEach
let allElements = Array.from( document.getElementByTagName('*') );

// loop through the elements and find the ones that have a class starting with 'simple-row'
allElements.forEach( element => {
if (element.className.match(/simple-row-.+/m)) {   
   // now check the children and find the ones that start with co-1
   let children = Array.from(element.children);
   children.forEach( child => {
        if (child.className.match(/col-1/m)) {
        // we found the element - now lets do something with its value (textNode)
        alert(child.outerText);
     }
   });
}
});
 

جدیدترین ارسال ها

بالا