Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从多个元素的特定范围中获取文本_Javascript_Jquery_Html_Dom_Find - Fatal编程技术网

Javascript 如何从多个元素的特定范围中获取文本

Javascript 如何从多个元素的特定范围中获取文本,javascript,jquery,html,dom,find,Javascript,Jquery,Html,Dom,Find,大家好,朋友们,我和班上有一个span。我怎么能从这个span中得到价格呢?我已经试过了,但是我不能指出确切的位置 Html 更新的Html代码 请提出建议…尝试使用: $this在事件范围内是无线电输入本身,span.amount不在其中 使用parent和find从多个元素中获取特定元素 var spanEl = $(this).parent('li').find('span.amount'); var price = spanEl.text(); //Get text console.lo

大家好,朋友们,我和班上有一个span。我怎么能从这个span中得到价格呢?我已经试过了,但是我不能指出确切的位置

Html

更新的Html代码

请提出建议…

尝试使用:

$this在事件范围内是无线电输入本身,span.amount不在其中

使用parent和find从多个元素中获取特定元素

var spanEl = $(this).parent('li').find('span.amount');
var price = spanEl.text(); //Get text
console.log(price);
/*$'.fabric layer pattern'。单击功能{ var spanEl=$this.parent'li'。查找'span.amount'; var price=spanEl.text;//获取文本 console.logprice; };*/ $'.fabric layer pattern'。单击功能{ var spanEl1=$this.parent'li.radio'。查找'span.amount'; var priceee=spanEl1.text;//获取文本 console.logpriceee; //此警报在价格到达后两次为空 普赖斯; }; 优雅的 500 优雅的 600 优雅的 700 我想这样可以:

// Just to be specific
$(".fabric-layer-pattern + span.price > span.amount").text();
试试这个代码

$('.fabric-layer-pattern').click(function() {
     var price = $('span.amount').text();         
});
更新


我已经试过了,但在第三次警报中,我在空警报到来之前得到了价格

这可能有不同的含义。仅此评论,我可能会发现价格值在外部发生了变化,您对该事件感兴趣。 如果是这样,你可以参考。此外,您可以考虑使用更改事件来代替单击事件。 根据这些考虑,我更新了代码片段

您可以使用:

对于集合中的每个元素,通过测试元素本身并在DOM树中遍历其祖先,获取与选择器匹配的第一个元素

片段:

var observer=新突变ObserverFunction突变{ 突变{ 如果0.addedNodes.length>0{ $'.fabric layer pattern'.触发“单击”; } }; }; observer.observe$'li.radio span.amount'.get0,{attributes:true,childList:true}; //稍后,你可以停止观察 //观察者:断开连接; $'myBtn'。单击,函数E{ $'li.radio span.amount'.textDate.now; }; $'.fabric layer pattern'。单击,功能{ var spanEl=$this.nexist'li.radio'。查找'span.amount'; var price=spanEl.text;//获取文本 console.log“span.amount为:”+价格; }; 变价 优雅的 500 优雅的 500 优雅的 500
假设有多个one@j08691似乎不是op的情况,但好吧,我已更新。是否会有多组输入/跨度?是否可以发布您使用此代码时遇到的错误?我已经使用了您的脚本前两次,它在返回价格后返回空警报&再次出现两个空警报为什么会发生这种情况。我的代码中没有使用任何警报,请出示您的完整代码,以检查到底是什么问题。我使用parent专门从li中查找span。查看我的工作示例查看我在示例中更新了HTML,工作正常。给我看看你的脚本,它显示了多个警报。一切正常吗?我已经更新了我的JS,我的警报执行了5次第三次我得到了价格其余的警报都是空的..我不知道为什么..我试过了,但在第三次警报中,我在空警报出现之前得到了价格
$('.fabric-layer-pattern').click(function() {
     var spanEl = $(this).siblings().filter("span.amount");
     var price = spanEl.text(); //Get text
});
var spanEl = $(this).parent('li').find('span.amount');
var price = spanEl.text(); //Get text
console.log(price);
// Just to be specific
$(".fabric-layer-pattern + span.price > span.amount").text();
$('.fabric-layer-pattern').click(function() {
     var price = $('span.amount').text();         
});