javascript - 如何在 jquery 中获取 UL / LI 值
问题描述
我需要一系列城市,它在 jquery 中是如何工作的?我从不接触前端,所以我是新手。
<ul class="ui-autocomplete ui-front ui-menu ui-widget ui-widget-content" id="ui-id-180" tabindex="0" style="display: block; top: 166px; left: 1037.86px; width: 203px;">
<li class="ui-menu-item" id="ui-id-418" tabindex="-1">City1</li>
<li class="ui-menu-item" id="ui-id-419" tabindex="-1">City2</li>
<li class="ui-menu-item" id="ui-id-420" tabindex="-1">City3</li>
<li class="ui-menu-item" id="ui-id-421" tabindex="-1">City4</li></ul>
此城市列表也与输入字段相关联。在服务器端生成的值。主要 UL 的 id 为“ui-id-180”,它可能会在用户端发生变化吗?输入字段是否与下拉列表连接?如果是这样,是否有可能知道哪个“ul li”与哪个领域相关?我在输入字段中获取值的代码:
$("[name=" + City.GetInputName() + "]").keyup(function(eventObject){
$("[name=" + Source.GetInputName() + "]").val(function(index, value){});});
更新 1 有一个使用 @mplungjan 答案的示例。如果有多个 UL,则该数组具有不需要的值。这就是为什么我询问输入字段和 UL 的连接(过滤值)。
解决方案
这是在不触摸 ID 的情况下获取 jQuery 地图中的城市的方法
const cities = $(".ui-autocomplete li")
.map(function() { return this.textContent.trim()})
.get();
console.log(cities)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="ui-autocomplete ui-front ui-menu ui-widget ui-widget-content" id="ui-id-180" tabindex="0" style="display: block; top: 166px; left: 1037.86px; width: 203px;">
<li class="ui-menu-item" id="ui-id-418" tabindex="-1">City1</li>
<li class="ui-menu-item" id="ui-id-419" tabindex="-1">City2</li>
<li class="ui-menu-item" id="ui-id-420" tabindex="-1">City3</li>
<li class="ui-menu-item" id="ui-id-421" tabindex="-1">City4</li>
</ul>
推荐阅读
- javascript - 如何仅在组件从 Firebase 接收数据后才映射StateToProps
- mysql - mysqldump 8 客户端使用 no-create-info 创建空的 .sql 文件
- javascript - 动态添加没有被渲染
- python - 如何在 ubuntu 上的 python3.7 中安装 opencv?
- .net - dotnet pack 命令不会为测试和规范项目生成 .nuget 包?
- sql - 如何插入基于多行子查询的表?
- android - com.google.firebase.auth.FirebaseAuth.getCurrentUser()' 在空对象引用上
- python - 无法在 Django 中使用 Python Mock 模拟 REST API 函数
- reactjs - 将自定义元素添加到 React Table pagination-top
- python-2.7 - 使用 Scrapy 无法从父 div 获取子 xpath