Jquery 在选择器后查找值
我有以下html代码片段Jquery 在选择器后查找值,jquery,Jquery,我有以下html代码片段 <ul class="product"> <li><span>Available:</span>123</li> <li><span>Code:</span>12345</li> </ul> 但这将存储可用:123。我只需要数值 有什么想法吗 谢谢 样本: EDIT:上述解决方案希望LI元素除了要检索的数字之外,只有一种类型的HTML元素,即sp
<ul class="product">
<li><span>Available:</span>123</li>
<li><span>Code:</span>12345</li>
</ul>
但这将存储可用:123
。我只需要数值
有什么想法吗
谢谢
样本:
EDIT:上述解决方案希望LI
元素除了要检索的数字之外,只有一种类型的HTML元素,即span
,如果要将div
添加到LI中,这将不起作用
为了处理这个问题,我将Price
包装在span
的HTML中,并访问它以避免此类问题
所以我的HTML看起来像
<ul class="product">
<li><span>Available:</span><span class="price">123</span></li>
<li><span>Code:</span><span class="price">123</span></li>
</ul>
样品
样本:
EDIT:上述解决方案希望LI
元素除了要检索的数字之外,只有一种类型的HTML元素,即span
,如果要将div
添加到LI中,这将不起作用
为了处理这个问题,我将Price
包装在span
的HTML中,并访问它以避免此类问题
所以我的HTML看起来像
<ul class="product">
<li><span>Available:</span><span class="price">123</span></li>
<li><span>Code:</span><span class="price">123</span></li>
</ul>
示例无法创建一个可以执行您所需操作的选择器。理想情况下,您可以修改HTML并添加类和另一个值范围。如果您不能这样做,那么只要始终有冒号和后面的值,您就可以使用:
var a = $(".product li:contains('Available')").text().split(":")[1];
没有办法创建一个选择器来实现您想要的功能。理想情况下,您可以修改HTML并添加类和另一个值范围。如果您不能这样做,那么只要始终有冒号和后面的值,您就可以使用:
var a = $(".product li:contains('Available')").text().split(":")[1];
或者,您可以遍历标识的
的子节点,并使用文本节点的值
var myLi = $(".product li:contains('Available')")[0];
var a;
for(var i = 0; i < myLi.childNodes.length; i++) {
if(myLi.childNodes[i].nodeType === 3) {
a = myLi.childNodes[i].nodeValue;
}
}
alert(a);
var myLi=$(“.product li:contains('Available')”)[0];
var a;
对于(var i=0;i
识别感兴趣的
需要一点jQuery,然后使用纯Javascript进行迭代。或者,您可以迭代识别的的子节点,并使用文本节点的值
var myLi = $(".product li:contains('Available')")[0];
var a;
for(var i = 0; i < myLi.childNodes.length; i++) {
if(myLi.childNodes[i].nodeType === 3) {
a = myLi.childNodes[i].nodeValue;
}
}
alert(a);
var myLi=$(“.product li:contains('Available')”)[0];
var a;
对于(var i=0;i
这有点像jQuery,用于识别您感兴趣的
,然后使用纯Javascript进行迭代。您可以添加一个正则表达式来提取数字
var a = $(".product li:contains('Available')").text();
var number = a.match(/[0-9]+/)[0];
您可以添加正则表达式来提取数字
var a = $(".product li:contains('Available')").text();
var number = a.match(/[0-9]+/)[0];
您始终可以使用:
拆分变量以获得所需的值,但我相信有人能够调整您的原始选择器。最简单的解决方案(尽管可能不是最容易实现的)是使用唯一类将123
包装到另一个
中并使用。查找('.classname').text()
。您始终可以使用:
拆分变量以获得所需的值,但我相信有人能够调整您的原始选择器。最简单的解决方案(尽管可能不是最容易实现的)是使用唯一类将123
包装到另一个
中并使用。查找('.classname').text()
。比我的好得多。+1比我的好得多。+1