提问人:Denis 提问时间:8/11/2020 最后编辑:Always HelpingDenis 更新时间:8/11/2020 访问量:222
在html中查找并获取id属性并替换它 - jQuery
Find and get id attributes inside of html and replace it - jQuery
问:
我尝试在这里使用这个问题来序列化属性,但不适用于不同的情况,如何在 .main div 父级中找到整个属性
$(".send").click(function() {
var data_array = new Array();
$(".main").each(function() {
var item = {};
for (var i in $(this).attr('id')) {
item[i] = $(this).attr(i);
}
data_array.push(item);
});
var serialized = JSON.stringify(data_array);
$("#result").text(serialized);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="main">
<ul>
<li class="dropped" data-order="0" data-id="1" data-content="blabla" id="first">first</li>
<li class="dropped" data-order="0" data-id="2" data-content="another content" id="second">second</li>
</ul>
<labe for="input1">Name: </labe>
<input type="text" id="input1" />
</div>
<div id="result"></div>
<button class="send">Send</button>
我正在尝试获取包括输入、标签和标签在内的所有 ID<div class="main">
<li>
答:
2赞
Always Helping
8/11/2020
#1
在这种情况下,您需要使用 Descendant Selector 来获取您的类的所有内容。简单地使用 on 在您的情况下是行不通的。data-attributes
.main
.main
$.each
编辑:根据您想要的对话,在 .main html 类中找到 id,然后用一些新 id 替换现有 id。它现在都可以正常工作,您可以单击发送,旧 id 将存储在数组中,新 id 将应用于 HTML 元素。
演示:
$(".send").click(function() {
var data_array = []
$(".main").each(function(index, el) {
//store object
var item = {};
//find all the li in .main
$($(el).find('li')).each(function(ind, li) {
item["id" + ind] = $(li).attr('id') //store old li id
$(li).attr("id", "new-li" + ind); //li change new id
})
//store input id
item['id'] = $(el).find('input').attr('id') //store old id
$(el).find('input').attr('id', 'new-input-id') //assign input new id
//Push old id's data to array
alert('All id`s replaced for li and input')
data_array.push(item);
});
console.log(data_array)
var serialized = JSON.stringify(data_array);
$("#result").text(serialized);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="main">
<ul>
<li class="dropped" data-order="0" data-id="1" data-content="blabla" id="first">first</li>
<li class="dropped" data-order="0" data-id="2" data-content="another content" id="second">second</li>
</ul>
<labe for="input1">Name: </labe>
<input type="text" id="input1" />
</div>
<div id="result"></div>
<button class="send">Send</button>
评论
0赞
Denis
8/11/2020
感谢您的回复。我只想获取输入、标签和标签的属性 ID<li>不仅找到 li >子项,还找到元素内部的 entier elemen。请
0赞
Denis
8/11/2020
我只是在 .main div 中添加了输入,这是我发布的第一个,但它编辑并缺少示例代码的输入
1赞
Always Helping
8/11/2020
@Denis 所以你想得到 li 的 id as 和 标签文本 afirst
second
name:
0赞
Denis
8/11/2020
我想要 .main div 内的所有 elemen 都请获取所有 ID
1赞
Always Helping
8/11/2020
@Denis 你能告诉我 .main div 元素中的所有内容是什么吗 - 写在评论中可能是id's
评论