我有一个cell = &num
和一些结果,如果任何结果与其文字标题与输入的确切*cell = num
不匹配,则应删除其input
。我遇到的问题是我正在处理错误的.val()
.parent().parent()
但this
是$this.parent().parent().hide();
$this
答案 0 :(得分:3)
问题在于您将$this
设置为字符串,而不是jQuery节点,因此当您说$this.parent().parent()
它不会起作用时。改为设置$this = jQuery(this);
并在条件
function fetch(){
jQuery.ajax({
url: '<?php echo admin_url('admin-ajax.php'); ?>',
type: 'post',
data: { action: 'data_fetch', exactwords: jQuery('#usp-title').val() },
success: function(data) {
var text2;
var text2B;
text2 = jQuery('#usp-title').val();
text2B = text2.toLowerCase();
jQuery("#datafetch").html(data).promise().done(function(){
jQuery("#datafetch ul li h2 a").each(function() {
var $this = jQuery(this);
if ($this.text().toLowerCase() !== text2B) {
$this.parent().parent().hide();
} else if (text1B == text2B) {
jQuery("#componi").attr("disabled", "disabled").hide();
}
});
});
}
});
}
答案 1 :(得分:0)
只需$(this).parent().parent().hide();
将$this
设置为$(this)
以外的任何其他内容都是不好的做法。
只需重命名变量并执行类似
的操作function() {
var $this = jQuery(this),
text = $this.text().toLowerCase();
if (text != text2B) {
$this.parent().parent().hide();
} else if (text1B == text2B) {
jQuery("#componi").attr("disabled", "disabled").hide();
}
}