相同的父我产生了一堆使用jQuery div
秒的输入框的另一个孩子的子元素。在每个div内部,还有更多的div包括一个链接。当用户点击一个元素时,我想要一个警告框来显示同一主div内另一个div的html。见下面的代码。如何获得与jQuery/JS
HTML
<form rol="form">
<div class="form-group">
<label for="s" id="s-label">Please enter the id below</label>
<input class="form-control text-center" type="input" id="s" onkeyup="getS($(this).val());">
</div>
</form>
<div class="col-md-12" id="s-results">
</div>
的jQuery(这是一个AJAX调用)
function getS(sS) {
$.ajax({
type: 'POST',
url: 's-query.php',
mimeType: 'json',
//dataType: 'application/json',
data: {sku: sS},
success: function(data) {
var disp = "";
counterp = 0;
$.each(data, function(i, data) {
disp += "<div class='col-md-12' id='sDisplay'>";
disp += "<div class='col-md-2' id='dSku' >" + data[0] + "</div>";
disp += "<div class='col-md-3' id='dDesc'>" + data[1] + "</div>";
disp += "<div class='col-md-2' id='dMast'>" + data[2] + "</div>";
disp += "<div class='col-md-2 text-center'>";
disp += "<input class='col-md-6 text-center' type='number' value='"+ data[3] + "' id='dChange'>";
disp += "</div>";
disp += "<div class='col-md-2 text-center'>" + data[4] + "</div>";
disp += "<div class='col-md-1 text-center'><a class='inv-click' id='" + counterp + "' onclick='updateD(this.id)' value='" + counterp + "'><i class='fa fa-check-square-o'></i></a></div>";
disp += "</div>";
counterp = counterp + 1;
});
//Success function if all goes well.
$("#sku-results").empty();
$("#s-results").append(disp);
},
error: function() {
alert('There seems to be an error fetching the data.');
}
});
}
function updateD(getId)
{
var par = $("#" + getId).closest("skuDisplay").children("dMast").html();
alert(par);
}
了jQuery的结果填充s-results
股利出来做一些事情这...
12345 | Item 1 | 2,680 | 195 | 123-456 | update (<-this is the a element)
98765 | Item 2 | 2,680 | 45 | 987-653 | update
74185 | Item 3 | 2,680 | 330 | 645-852 | update
...
...其中每行是一个父DIV(skuDisplay
),与该行中的每个“列”或价值是它自己的父div中的div。
在这个例子中,每当有人点击每个div中的a元素时,我想要一个警告框来显示与具有编号为dMast
的a元素相同的div内的对应div。在上面的例子中,使用.html()
,当我点击一个元素,警报框只是显示undefined
,即使dMast
div中的HTML是。
我试图取代html()
,或者说在该行与以下,没有运气:
-var par = $("#" + getId).closest("skuDisplay").children("dMast").val();
-var par = $("#" + getId).parent("skuDisplay").children("dMast").text();
-var par = $("#" + getId).parent().children("dMast").html();
我将如何获得作为被点击的元素的同一父级内的div的html?
'.closest( “skuDisplay”)','。儿童( “DMAST”)'无处不在,失去了一些东西?当通过id选择元素时,您不需要遍历DOM,只要提供的id在页面上是唯一的,并且它应该。 – Tushar
同为'.closest( “skuDisplay”)'和'.parent( “skuDisplay”)' – j08691