Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery()正在返回true_Javascript_Jquery - Fatal编程技术网

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()
,而不考虑其原始形式,因为此时它将始终是一个元素。