Javascript JQuery()正在返回true
我有一个字符串,它可以表示两个东西,一个是文本,另一个是带有文本的锚定标记。我写了一些东西来总是返回文本,如下所示:Javascript JQuery()正在返回true,javascript,jquery,Javascript,Jquery,我有一个字符串,它可以表示两个东西,一个是文本,另一个是带有文本的锚定标记。我写了一些东西来总是返回文本,如下所示: $(text).is('a') ? $(text).text() : text; $(text).is('a') ? $(text).text() : text; 我的逻辑是,如果文本是锚定标记?返回锚定标记的内容:如果不是,那么它已经是文本,所以返回该内容 我的问题是,为什么以下表达式返回true: $('a').is('a'); 是否正在检查字母或锚元素?如何检查我的文
$(text).is('a') ? $(text).text() : text;
$(text).is('a') ? $(text).text() : text;
我的逻辑是,如果文本是锚定标记?返回锚定标记的内容:如果不是,那么它已经是文本,所以返回该内容
我的问题是,为什么以下表达式返回true:
$('a').is('a');
是否正在检查字母或锚元素?如何检查我的文本是否为锚定标记
我宁愿不使用任何正则表达式
编辑:
我有一个变量x,它可以有以下值:
x = 'some text' or x = '<a>some text</a>'
x='some text'或x='some text'
如何始终从变量x提取文本。
'a'
是一个有效的查询选择器。它将选择文档中的所有锚元素。因此,$('a').is('a')
表示“在文档中查找锚定标记,并告诉我它们是否是锚定标记”--除非文档中没有锚定标记,否则这将始终是正确的
我有一个字符串,它可以表示两个东西,一个是文本,另一个是带有文本的锚定标记。我写了一些东西来总是返回文本,如下所示:
$(text).is('a') ? $(text).text() : text;
$(text).is('a') ? $(text).text() : text;
我的逻辑是,如果文本是锚定标记?返回锚定标记的内容:如果不是,那么它已经是文本,所以返回该内容
如果可能的话,我会避免让文本像那样含糊不清
您当然不能将文本转储到$()
,然后假设一切都会好起来。例如,$(“此处的一些文本”)
在DOM中搜索带有标记的元素此处
带有标记的内部元素文本
带有标记的内部元素一些
你说过你想区分
text = "Some text here"
及
text=“”),如何:
text = text.trim();
if (text.substring(0, 2) === "<a" && text.substr(-1) === ">") {
text = $(text).text();
}
text=text.trim();
if(文本子字符串(0,2)==“”){
text=$(text.text();
}
还是类似的
但是,如果你有选择的话,我也不会把自己放在这个位置上。只需将字符串设置为元素的html。抓取元素的文本,这样你就不必担心它是锚定文本还是纯文本
函数getText(内容){
var div=document.createElement(“div”)
div.innerHTML=内容
返回div.textContent
}
log('some text',getText('some text'))
console.log('some text',getText('some text'))
我无法复制您解释的问题。请参阅:
以下是我的测试:
$(函数(){
var表格数据=[
“案文1”,
“案文2”,
“案文3”,
“文本4”
];
功能isLink(el){
收益$(el).为(“a”);
}
var x=[];
$。每个(表数据、函数){
x、 推送(isLink?$(s).text().trim():s);
});
$(“.results”).html(x.join(“,”);
});
是的,刚刚修复:)我的大脑最近比jQuery更习惯于查询选择器
。)这很有意义,我在这里对我的问题X/Y进行了编辑。它是在页面上选择锚,它说是我的jQuery集合中的第一个元素锚。我想你有一个。在文本中可能的值是什么e> ,那么您真正想做什么呢?jQuery似乎是解决这个问题的一个奇怪的工具选择。“或锚定标记”-如
或来自DOM?如果它是HTML,那么它也只是文本。当它是“带有文本的锚定标记”时,您的变量中到底有什么“?哪一个?有关于如何提取所述数据的示例吗?@DaveGray它只是将内容包装在一个新的div元素中,这样,不管它是文本字符串还是锚定标记,它最终都是一个元素。然后,您可以在其上使用.text()
,而不考虑其原始形式,因为此时它将始终是一个元素。