我有多个div来表示一个城市。我希望能够使用event.currentTarget (这)来选择一个元素,然后使用类名来填充API fetch url。做这件事最好的方法是什么?如果没有在相同的函数中使用,我如何捕获此信息以供后续使用?
这就是我要得到的.
jQuery.fn.init [div.city.seattle]
0: div.city.seattle
accessKey: ""
align: ""
assignedSlot: null
attributeStyleMap: StylePropertyMap {size: 0}
attributes: NamedNodeMap {0: class, class: class, length: 1}
autocapitalize: ""
baseURI: "http://127.0.0.1:5500/index.html"
childElementCount: 0
childNodes: NodeList [text]
children: HTMLCollection []
classList: DOMTokenList(2) ["city", "seattle", value: "city
seattle"]
className: "city seattle"
clientHeight: 0
clientLeft: 0
clientTop: 0
clientWidth: 0
contentEditable: "inherit"
dataset: DOMStringMap {}
function captureCitySelect() {
$('.city').on('click', function(event) {
const citySelection = $(this);
console.log(citySelection);
});
}
<div class="cities">
<div class="city seattle">Seattle</div>
<div class="city tacoma">Tacoma</div>
<div class="city portTownsend">Port Townsend</div>
<div class="city neahBay">Neah Bay</div>
</div>我想拉出城市名称类并将其插入到API调用中,以搜索该城市
发布于 2019-05-07 23:00:11
您可以使用.attr('class')检索类,然后按空格对其进行标记,并获得第二个"1":
$('.city').on('click', function(event) {
const citySelection = $(this).attr('class').split(' ')[1];
console.log(citySelection);
});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="cities">
<div class="city seattle">Seattle</div>
<div class="city tacoma">Tacoma</div>
<div class="city portTownsend">Port Townsend</div>
<div class="city neahBay">Neah Bay</div>
</div>
发布于 2019-05-07 22:55:32
<div class="city" data-city="seattle">Seattle</div>不要使用类。要么使用数据元素并使用data('city')获取它,要么使用.text()获取城市。
发布于 2019-05-07 22:57:04
试试这个:
function captureCitySelect(param) {
console.log(param);
}
<div class="cities">
<div class="city seattle" onclick="captureCitySelect(this.innerText)">Seattle</div>
<div class="city tacoma" onclick="captureCitySelect(this.innerText)">Tacoma</div>
<div class="city portTownsend" onclick="captureCitySelect(this.innerText)">Port Townsend</div>
<div class="city neahBay" onclick="captureCitySelect(this.innerText)">Neah Bay</div>
</div>https://stackoverflow.com/questions/56025337
复制相似问题