我正在尝试检测a
中的#
标记是否只包含href
if ('#seller-shop[href*="#"]') {
alert('I contain #')
} else {
alert('I do not contain #')
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<a id="seller-shop" href="www.foo.bar">Seller Shop</a>
&#13;
但出于某种原因,不管href
我在这里缺少什么,它总是会被解雇?
答案 0 :(得分:1)
您必须在此背景下使用.is()
,
if ($('#seller-shop').is('[href*="#"]')) {
alert('I contain #')
} else {
alert('I do not contain #')
}
或者你可以做到,
if ($('#seller-shop[href*="#"]').length) {
alert('I contain #')
} else {
alert('I do not contain #')
}
或者您可以includes
使用href
,
if (document.getElementById("seller-shop").href.includes("#")) {
alert('I contain #')
} else {
alert('I do not contain #')
}
您的代码无效,因为非空字符串将始终评估为true
if ('#seller-shop[href*="#"]') {
//--^^^^^^^^^^^^^^^^^^^^^^^^---- This is a simple string.
答案 1 :(得分:1)
试试这个:读取href值并将其与"#"
进行比较
var hrefVAl = $('#seller-shop').attr('[href*="#"]');
if (hrefVAl=="#") {
alert('I contain #')
} else {
alert('I do not contain #')
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<a id="seller-shop" href="www.foo.bar">Seller Shop</a>
答案 2 :(得分:1)
您的代码段中存在一个问题'#seller-shop[href="#"]
字符串始终评估为true
进一步$('#seller-shop[href="#"]')
会返回一个也会屈服于true
的对象。使用length
属性检查天气选择器是否匹配任何元素。
if ($('#seller-shop[href="#"]').length) {
alert('I contain #')
} else {
alert('I do not contain #')
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<a id="seller-shop" href="www.foo.com">Seller Shop</a>
答案 3 :(得分:0)
检查href
属性
if($('#seller-shop').attr('href')=="#"){
alert('Only #')
} else {
alert('Other than #')
}
答案 4 :(得分:0)
仅使用JAVASCRIPT:
window.onload = function () {
var element = document.querySelector('#seller-shop[href*="#"]');
if (element != null)
{
alert('I contain #');
}
else {
alert('I do not contain #');
}
}