Javascript 如何获取标题属性包含“的输入标记?”&;nbsp&引用;?

Javascript 如何获取标题属性包含“的输入标记?”&;nbsp&引用;?,javascript,jquery,html,Javascript,Jquery,Html,我的dom中有以下输入标记,无法添加类和/或ID: <input type="radio" title="&nbsp;"> 或 它不返回任何内容。我可以基于该标题提取它吗?使用JQuery的filter()函数和RegExp.test函数的以下技巧来获取包含的标题属性的输入标记: var inputs = $("input[title]").filter(function(i){ return /\u00A0/.test($(this).attr('title'))

我的dom中有以下输入标记,无法添加类和/或ID:

<input type="radio" title="&nbsp;">


它不返回任何内容。我可以基于该标题提取它吗?

使用JQuery的
filter()
函数和
RegExp.test
函数的以下技巧来获取包含
的标题属性的输入标记:

var inputs = $("input[title]").filter(function(i){
    return /\u00A0/.test($(this).attr('title'));
});

要获取包含“常规”空格的标题属性的输入元素,请使用以下命令:

[attribute*=value]选择器匹配其属性的每个元素 包含指定值的值


选择所有非空标题属性是否足够

$('input:not([title=”“])。单击(function(){
警报(“非空白标题”);
});

这应该可以:

var isFound=$('[title=”“]')。长度===1;
if(isFound)console.log('Element is found')

您的选择器无法工作,因为您没有使用正确的符号。title属性可以解码任何html实体,因此
将被解码为实际符号
(ascii代码160)。因此,这意味着
文本与它不匹配,常规空格
(ascii代码32)也不匹配

在Windows操作系统上,可以键入ALT+0160以获取符号。在其他操作系统上,您需要找到等效的键组合,或者从角色映射复制粘贴

console.log(“带有规则空格的输入数:,$('input[title=”“]).length);
log(“文本为:,$('input[title=”“])的输入数。长度);
console.log(“带符号的输入数:,$('input[title=”“])).length)

有点笨拙,您可以尝试使用函数返回title属性的值并使用它。如果在普通页面中使用此选项,可以将下面的getTitle参数替换为更具体的选择器,如ID

function getTitle(selector) {
return $(selector).attr('title');
}

$('input[title=' + getTitle('input[type="radio"]') + ']');

dom上还有其他具有各种条目的输入元素,因此包含“”也不起作用。坦率地说。。。听起来真是个糟糕的主意。@MarcDix-坦率地说,我并不反对。这是我尝试过的场景之一,也是在最初的问题中。。。除非在翻译过程中丢失了某些内容。@如果选择器包含常规空格,而不是
。如果他们的输入是文档中的第一个输入单选按钮,则此操作将不起作用。另外,如果他们能够
input[type=“radio”]
那么为什么要获取标题,然后在他们已经有了对它的引用时尝试以不同的方式选择它呢?是的,我应该澄清一下,代码是特定于示例的。为了让代码在真实环境中工作,您需要一个更具体的选择器,如果它是单选按钮,您应该表面上有一个id。我觉得我的答案就在这里。。。但似乎无法让alt0160正常工作!你使用的是Windows操作系统吗?要做到这一点,你按住Alt键,在键盘上点击0,然后点击1,然后点击6,然后点击0,然后放开AltMac。我在谷歌上搜索找到了。我现在就说。。。。我用javascript做过一些我并不自豪的事情。@PatrickEvans您能描述一下您是如何发现它是ASCII 160而不是常规空格的吗?控制台f。E把它渲染成一个普通的空间。有没有办法在js中转义它,使它至少看起来不像一个空间?
var inputs = $("input[title]").filter(function(i){
    return /\u00A0/.test($(this).attr('title'));
});
$("input[title*=' ']");
function getTitle(selector) {
return $(selector).attr('title');
}

$('input[title=' + getTitle('input[type="radio"]') + ']');