如何从特定的最近元素获取文本?
How to get the text from a specific closest element?
我一直在学习自己编写代码并使用 jquery 库做一些有趣的事情,但我被困在这里。这是我得到的:
<span class='ccy'>San Diego</span><span class='dc'> X</span>
<span class='ccy'>San francisco</span><span class='dc'> X</span>
<span class='ccy'>Palo alto</span><span class='dc'> X</span>
我希望能够单击 $("span.dc") 并仅获取其旁边 的 text()(城市名称),如果有html 中只有一个城市,但只要我不断将它们相加,结果就会变得混乱,最后我得到一个包含所有城市名称的字符串,而我只需要一个。
我知道显而易见的事情是给他们每个人一个不同的 id 但它会变得更加混乱,因为 html 是根据用户之前触发的事件动态生成的,这些城市来自一个数组,如果单击 'x',我需要从中删除城市的单独名称,我希望我已经解释得足够好。
jsfiddle here!! 这样你就能看得更清楚
您可以使用 prev()
获取之前的跨度。
$("span.dc").click(function() {
var jj = $(this).prev('span.ccy').text();
});
fiddle here
对于您的标记,最简单的是使用 .prev
$(function() {
$(".dc").on("click",function() {
var city = $(this).prev().text();
console.log(city);
$("#msg").html("You clicked "+city);
});
});
.dc { padding-right:3px;border-right:1px solid black }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<span class='ccy'>San Diego</span><span class='dc'> X</span>
<span class='ccy'>San Francisco</span><span class='dc'> X</span>
<span class='ccy'>Palo Alto</span><span class='dc'> X</span>
<br/><span id="msg"></span>
我一直在学习自己编写代码并使用 jquery 库做一些有趣的事情,但我被困在这里。这是我得到的:
<span class='ccy'>San Diego</span><span class='dc'> X</span>
<span class='ccy'>San francisco</span><span class='dc'> X</span>
<span class='ccy'>Palo alto</span><span class='dc'> X</span>
我希望能够单击 $("span.dc") 并仅获取其旁边 的 text()(城市名称),如果有html 中只有一个城市,但只要我不断将它们相加,结果就会变得混乱,最后我得到一个包含所有城市名称的字符串,而我只需要一个。
我知道显而易见的事情是给他们每个人一个不同的 id 但它会变得更加混乱,因为 html 是根据用户之前触发的事件动态生成的,这些城市来自一个数组,如果单击 'x',我需要从中删除城市的单独名称,我希望我已经解释得足够好。
jsfiddle here!! 这样你就能看得更清楚
您可以使用 prev()
获取之前的跨度。
$("span.dc").click(function() {
var jj = $(this).prev('span.ccy').text();
});
fiddle here
对于您的标记,最简单的是使用 .prev
$(function() {
$(".dc").on("click",function() {
var city = $(this).prev().text();
console.log(city);
$("#msg").html("You clicked "+city);
});
});
.dc { padding-right:3px;border-right:1px solid black }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<span class='ccy'>San Diego</span><span class='dc'> X</span>
<span class='ccy'>San Francisco</span><span class='dc'> X</span>
<span class='ccy'>Palo Alto</span><span class='dc'> X</span>
<br/><span id="msg"></span>