从动态创建的具有相同id的元素中获取select .val()或div .text()的方法是通过使用类选择器或其他属性选择器来选择元素,而不是使用id选择器。因为id应该是唯一的,不应该在同一文档中存在多个具有相同id的元素。
对于select元素,可以使用类选择器或其他属性选择器来选择具有相同类名或其他相同属性的元素,并使用.val()方法来获取其值。例如,如果具有相同类名"my-select"的多个select元素,可以使用类选择器".my-select"来选择它们,并使用.val()方法来获取选中的值。
对于div元素,可以使用类选择器或其他属性选择器来选择具有相同类名或其他相同属性的元素,并使用.text()方法来获取其文本内容。例如,如果具有相同类名"my-div"的多个div元素,可以使用类选择器".my-div"来选择它们,并使用.text()方法来获取它们的文本内容。
以下是一个示例代码:
HTML:
<select class="my-select">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
<select class="my-select">
<option value="4">Option 4</option>
<option value="5">Option 5</option>
<option value="6">Option 6</option>
</select>
<div class="my-div">Text 1</div>
<div class="my-div">Text 2</div>
JavaScript:
// 获取select元素的值
var selectValues = [];
$(".my-select").each(function() {
selectValues.push($(this).val());
});
console.log(selectValues);
// 获取div元素的文本内容
var divTexts = [];
$(".my-div").each(function() {
divTexts.push($(this).text());
});
console.log(divTexts);
上述代码中,使用类选择器".my-select"选择所有具有类名"my-select"的select元素,并使用.each()方法遍历它们,通过$(this).val()获取每个select元素的值,并将其存储在selectValues数组中。同样地,使用类选择器".my-div"选择所有具有类名"my-div"的div元素,并使用.each()方法遍历它们,通过$(this).text()获取每个div元素的文本内容,并将其存储在divTexts数组中。
请注意,为了避免混淆和冲突,建议在动态创建元素时使用不同的类名或其他属性来标识它们,而不是使用相同的id。
领取专属 10元无门槛券
手把手带您无忧上云