jquery - 使用 jquery 解析嵌入在 div 中的 div
问题描述
我有以下html
由于我使单元格内容可编辑,因此我正在尝试解析数据。这是我的jQuery
$('#presend_btn').click(function() {
event.preventDefault();
console.log("presend_btn preparations");
$('#reporting-agent-data').each(function() {
var tmpdiv = $(this).find('.agent-data');
var agent_id = $(tmpdiv).attr('agent-id');
console.log("agent_id: " + agent_id);
$(tmpdiv).each(function() {
var rname = $(tmpdiv).find('.r-name').val();
console.log("rname: " + rname);
});
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<div id="reporting-agent-data">
<div class="row text-center agent-data equal" agent-uuid="0" agent-id="1">
<div class="col-xs-4 col-md-2 reported-cell r-name" contenteditable='true'></div>
<div class="col-xs-4 col-md-2 reported-cell r-relation" contenteditable='true'></div>
<div class="col-xs-4 col-md-3 reported-cell r-phone" contenteditable='true'></div>
<div class="col-xs-12 col-md-5 reported-cell-textarea r-details" contenteditable='true'></div>
</div>
<div class="row text-center agent-data equal" agent-uuid="0" agent-id="2">
<div class="col-xs-4 col-md-2 reported-cell r-name" contenteditable='true'></div>
<div class="col-xs-4 col-md-2 reported-cell r-relation" contenteditable='true'></div>
<div class="col-xs-4 col-md-3 reported-cell r-phone" contenteditable='true'></div>
<div class="col-xs-12 col-md-5 reported-cell-textarea r-details" contenteditable='true'></div>
</div>
<div class="row text-center agent-data equal" agent-uuid="0" agent-id="3">
<div class="col-xs-4 col-md-2 reported-cell r-name" contenteditable='true'></div>
<div class="col-xs-4 col-md-2 reported-cell r-relation" contenteditable='true'></div>
<div class="col-xs-4 col-md-3 reported-cell r-phone" contenteditable='true'></div>
<div class="col-xs-12 col-md-5 reported-cell-textarea r-details" contenteditable='true'></div>
</div>
</div>
我没有从 Jquery 代码中得到想要的结果。预期的结果是解析具有 id 'reporting-agent-data' 的父 div,获取具有 'agent-id' 的类 'agent-data' 属性的子 div,然后获取具有类 'r-name' 值的子 div。相反,我只得到第一个子代理 ID 值,并且 3 个“r-name”实例为空。
任何帮助是极大的赞赏
解决方案
问题是.val()input
仅在元素或数据属性上有值时才返回。
在您的情况下,NONE
您显然需要的是您的.textr-name
运行下面的代码片段以查看它的工作原理。
$('#presend_btn').click(function() {
event.preventDefault();
console.log("presend_btn preparations");
$('#reporting-agent-data').each(function() {
var tmpdiv = $(this).find('.agent-data');
$(tmpdiv).each(function() {
//Agent IDs
var agent_id = $(this).attr('agent-id');
console.log("agent_id: " + agent_id);
//R Names
var rname = $(this).find('.r-name').text() //THis needs a fix
console.log("rname: " + rname);
});
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="reporting-agent-data">
<div class="row text-center agent-data equal" agent-uuid="0" agent-id="1">
<div class="col-xs-4 col-md-2 reported-cell r-name" contenteditable='true'>1</div>
<div class="col-xs-4 col-md-2 reported-cell r-relation" contenteditable='true'></div>
<div class="col-xs-4 col-md-3 reported-cell r-phone" contenteditable='true'></div>
<div class="col-xs-12 col-md-5 reported-cell-textarea r-details" contenteditable='true'></div>
</div>
<div class="row text-center agent-data equal" agent-uuid="0" agent-id="2">
<div class="col-xs-4 col-md-2 reported-cell r-name" contenteditable='true'>2</div>
<div class="col-xs-4 col-md-2 reported-cell r-relation" contenteditable='true'></div>
<div class="col-xs-4 col-md-3 reported-cell r-phone" contenteditable='true'></div>
<div class="col-xs-12 col-md-5 reported-cell-textarea r-details" contenteditable='true'></div>
</div>
<div class="row text-center agent-data equal" agent-uuid="0" agent-id="3">
<div class="col-xs-4 col-md-2 reported-cell r-name" contenteditable='true'>3</div>
<div class="col-xs-4 col-md-2 reported-cell r-relation" contenteditable='true'></div>
<div class="col-xs-4 col-md-3 reported-cell r-phone" contenteditable='true'></div>
<div class="col-xs-12 col-md-5 reported-cell-textarea r-details" contenteditable='true'></div>
</div>
</div>
<button id="presend_btn">
Click Me
</button>
推荐阅读
- python - AttributeError:模块 'cv2' 没有属性 '__version__'
- python - 查找关键字并且不包括关键字字符串仅作为较大单词的一部分显示的位置
- arrays - 从对象数组中获取一些字符串值并将这些值添加到可观察对象中
- android - 容器尺寸根据屏幕
- flutter - Flutter TextFormField inpy边框颜色不改变
- java - 编译时的 Gradle 依赖问题
- azure - 当(Azure)databricks 运行时版本更改时,pyspark join 失败
- javascript - Vue 减少了 fusioncharts 和 apexcharts 的包大小
- reactjs - 尝试在 MERN 堆栈中创建新项目时,出现 TypeError: this.props.meals.map is not a function
- spring-integration - 如何在 MailSendingMessageHandler 中检查邮件发送是否成功