如果中间标记设置为隐藏,是否可以使用浏览器的 Ctrl + F 函数跨三个span
标记搜索文本?例如:
<span class="visibleText">Trying</span>
<span class="hiddenText">to search</span>
<span class="visibleText">text.</span>
如果.hiddenText
设置为display:none
,则网络浏览器会显示“试用文字”。但是,如果在Web浏览器中使用 Ctrl + F 进行搜索,则会在“Trying”之后停止匹配字符串。您可以突出显示整个短语“尝试文本”并按 Ctrl + F ,这会将短语弹出到您的搜索框中,但点击查找下一个匹配按钮将没有结果。
有没有办法让整个短语可以搜索?例如,请查看:http://jsfiddle.net/surrealmind/qo2ens33/。
答案 0 :(得分:1)
这有效
http://jsfiddle.net/qo2ens33/2/
<强> HTML 强>
<span class="visibleText">Trying</span>
<div class="hiddenText"><span>to search</span></div>
<span class="visibleText">text</span>
<强> CSS 强>
.hiddenText{
width:0px;
height:0px;
overflow:hidden;
display:inline-block;
}
这也有效
http://jsfiddle.net/ctwheels/qo2ens33/5/
<强> HTML 强>
<span class="visibleText">Trying</span>
<span class="hiddenText">to search</span>
<span class="visibleText">text</span>
<强> CSS 强>
.hiddenText {
position:absolute;
opacity:0;
width:0px;
}
不确定这是否是您正在寻找的
好的,我认为这是你正在寻找的......你不能(据我所知)一起寻找两个不同的跨度,所以我所做的就是我和#39; ve将可见范围加在一起
http://jsfiddle.net/ctwheels/qo2ens33/6/
使用此代码:
<强> JS 强>
var numberOfElements = $(".visibleText").length;
for (var i = 1; i < numberOfElements; i++) {
$(".visibleText:eq(0)").append(" " + $(".visibleText:eq(1)").text());
$(".visibleText:eq(1)").remove();
}
答案 1 :(得分:0)
通过这个,您可以找到&#34;尝试搜索文本。&#34;但不是&#34;尝试文字。&#34;:
.hiddenText{
position: absolute;
top: -10000cm;
left: -10000cm;
}
答案 2 :(得分:0)
这不是你想要的,但确实完成了“隐藏文字”。我认为可以调整定位以适合您的目的。
.parent {
height: 2em;
width: 400px;
background: white;
position: relative;
}
.hiddenText {
width: 100%;
overflow: visible;
display: inline-block;
position: absolute;
color: transparent;
bottom: 0;
left: 0;
cursor: default;
}
.hiddenText::selection {
background: rgba(0,0,0,0);
}