我有以下标记:
$(document).ready(function () {
$('.lalala').bind('blur', function (e) {
CheckFirstInput($(this));
});
});
<div id="divContainer">
<input type="text" class="lalala" />
<p id="img1"></p>
</div>
以下脚本
function CheckFirstInput(element) {
var txtLength = element.val();
var parent;
var lastElement;
if (txtLength.length < 1) {
parent = element.parent();
lastElement = parent.last();
lastElement.text('prazno e');
}
else {
//element.parent().lastChild().text('4884384f384r34rf');
parent = element.parent();
lastElement = parent.last();
lastElement.text('ne e prazno');
}
}
如果输入字段不为空,我想选择包装div的最后一个元素(<p>
)并更改其文本。我该怎么做?
提前致谢!!
答案 0 :(得分:2)
您需要选择元素父级的children()。您正在选择最后一位父级。 (这是父母。)
以下是有效的。我还清理了一些代码。
$('.lalala').blur( function () {
CheckFirstInput($(this));
});
function CheckFirstInput(element) {
if (element.val().length < 1) {
element.siblings(':last').html('prazno e');
}
else {
element.siblings(':last').html('ne e prazno ');
}
}
答案 1 :(得分:1)
如果我说得对,你可以查看$(element).is(":empty")
并使用parent.siblings(":last-child")
答案 2 :(得分:0)
您的问题已得到解答,但这是另一种方法:
$('.lalala').bind('blur', function (e) {
CheckFirstInput($(this));
});
function CheckFirstInput($el) {
var $last = $el.siblings().filter(':last');
var html = ($el.val() == '') ? 'prazno e' : 'ne e prazno';
$last.html(html);
}