我知道这个问题已经很多,但我似乎找不到我想要的答案。我遇到了这个错误:
Uncaught TypeError: $(...).find(...).hasClass(...).val is not a function
at attach_selectors (commercial.js:768)
at HTMLDocument.<anonymous> (commercial.js:117)
at j (jquery-1.11.0.min.js:2)
at Object.fireWith [as resolveWith] (jquery-1.11.0.min.js:2)
at Function.ready (jquery-1.11.0.min.js:2)
at HTMLDocument.K (jquery-1.11.0.min.js:2)
我知道这与Val((有关,但是如果有人可以将我指向正确的方向,那将是很棒的。我需要创建一个新功能吗?
var stInput=$("form").find("input").hasClass("st-search").val();
$("#submitSearch").off("click").on("click", function(e) {
e.preventDefault();
$(".gsc-search-button").find(stInput).click();
}
);
<form class="st-search">
<div class="gcse-search"><input type="text" class="st-default-search-input" placeholder="Search..." />
<xsl:text> </xsl:text>
</div>
<button class="btn btn-secondary-bel gsc-search-button gsc-search-button-v2" id="submitSearch" title="search">Search</button>
</form>
hasClass
返回没有val
功能的true
或false
。也许您想将选择器调整为$('form.st-search')
?
此行返回布尔值,而不是jQuery对象
var stInput = $("form").find("input").hasClass("st-search");
可能您想这样做:
var stInput = $("form").find("input").val();
.hasClass
返回真或否。文档。
似乎您想要的是:
var stInput = $("form input.st-search").val();
添加了片段并删除了hasClass()
,因为此功能返回一个布尔值。
var stInput = $("form").find("input").val();
$("#submitSearch").off("click").on("click", function(e) {
e.preventDefault();
//Update value
stInput = $("form").find("input").val()
console.log(stInput);
$(".gsc-search-button").find(stInput).click();
}
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form class="st-search">
<div class="gcse-search"><input type="text" class="st-default-search-input" placeholder="Search..." />
<xsl:text> </xsl:text>
</div>
<button class="btn btn-secondary-bel gsc-search-button gsc-search-button-v2" id="submitSearch" title="search">Search</button>
</form>
hasclass((函数仅返回布尔值。
var data = $(" form"(。查找("输入"(。val((;
var stInput = $(".st-default-search-input").val();
$("#submitSearch").off("click").on("click", function(e) {
e.preventDefault();
$(".gsc-search-button").find(stInput).click();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<form class="st-search"><div class="gcse-search"><input type="text" class="st-default-search-input" placeholder="Search..." /><xsl:text> </xsl:text></div>
<button class="btn btn-secondary-bel gsc-search-button gsc-search-button-v2" id="submitSearch" title="search">Search</button>
</form>