提问人:Hasnain Ghias 提问时间:8/26/2022 更新时间:8/26/2022 访问量:381
获取 Select Option 中 Span 类的值
Get the value of Span class inside a Select Option
问:
我知道它可能看起来是重复的,但事实并非如此。
这是我的选择的样子:
<select id="avpMy4Y7E4cH_-iIRmmAK6-2GsEOu6Sjr-0-0">
<option value="1Ltr [ <span class=money>Rs.1,495.00</span> ]">...</option>
</select>
我只想得到类“钱”的价值。
这是我尝试过的:
var val = $('#avpMy4Y7E4cH_-iIRmmAK6-2GsEOu6Sjr-0-0 option:selected').find('.money').val();
但这返回空值。
我怎样才能得到这个特定的值?
答:
0赞
Ryan Wilson
8/26/2022
#1
我有点不清楚您想要返回什么,但这将返回跨度和 .Span 元素没有值属性。textContent
classNames
您可以使用将选定的选项文本转换为 HTML 文档,从与该选择器匹配的文档中选择元素,然后提取DOMParser
textContent
window.addEventListener("DOMContentLoaded", () => {
const opt = document
.querySelector('#avpMy4Y7E4cH_-iIRmmAK6-2GsEOu6Sjr-0-0 option:checked');
const parser = new DOMParser();
//convert the value of the selected option to html document
const htmldoc = parser.parseFromString(opt.value, "text/html");
//select all elements with className money from html document
const moneys = htmldoc.querySelectorAll('.money');
//iterate each and display it's textContent
moneys.forEach((a) => {
console.log(a.textContent);
//if you want to read the classNames
a.classList.forEach((b) => {
console.log(b);
});
});
});
<select id="avpMy4Y7E4cH_-iIRmmAK6-2GsEOu6Sjr-0-0">
<option selected value="1Ltr [ <span class=money>Rs.1,495.00</span> ]"></option>
</select>
评论
[ <span class...
var val = $("<div>").html($("#avpMy4Y7E4cH_-iIRmmAK6-2GsEOu6Sjr-0-0 option:selected").val().match(/\[(.*)\]/)[1]).find(".money").text();
ltr [
[]
)