我使用以下脚本来检查div的编号是否实际匹配。但是脚本失败了。也许我必须转换jQuery的数量? jQuery不能将 var document = new HtmlDocument();
document.LoadHtml(firsturlpagesource);
var cssTags = document.DocumentNode.SelectNodes("//link");
if (cssTags != null)
{
urlcsscountlbl.Text = ""; //numbers of css
urlcssdetailslbl.Text = ""; // url of css files
int count = 0;
foreach (var sitetag in cssTags)
{
if (sitetag.Attributes["href"] != null && sitetag.Attributes["href"].Value.Contains(".css"))
{
count++;
firsturlcssdetailslbl.Text += sitetag.Attributes["href"].Value + "<br />";
}
}
urlcsscountlbl.Text = count.ToString();
}
理解为数字吗?
"2.3"
var Test = setInterval(TestMethod, 4000);
function TestMethod() {
if ($(".result").not(':contains("2.3")')) {
console.log("field not contains 2.3");
clearInterval(Test);
} else {
console.log("field contains 2.3");
clearInterval(Test);
}
}
我的小提琴: Example
答案 0 :(得分:3)
问题是因为您的逻辑在if
条件下使用jQuery对象。选择器总是返回一个对象,即使它没有匹配DOM中的任何元素,因此在你的条件下被强制转换为true
- 因此问题。
要解决此问题,您需要修改逻辑以检查返回对象的length
以查看它匹配的元素数量:
var Test = setInterval(TestMethod, 4000);
function TestMethod() {
if ($('.result:contains("2.3")').length == 0) {
console.log("field not contains 2.3");
clearInterval(Test);
} else {
console.log("field contains 2.3");
clearInterval(Test);
}
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="result">
2.3
</div>
&#13;
答案 1 :(得分:1)
请尝试长度并检查它是否不等于0
var Test = setInterval(TestMethod, 4000);
function TestMethod() {
if($(".result").not(':contains(2.3)').length != 0) {
alert("field not contains 2.3");
clearInterval(Test);
}
else {
alert("field contains 2.3");
clearInterval(Test);
}
}
您可以查看here