简单的问题,在HTML中重叠跨度是有效的吗?
例:
<span id="1">This is <span id="2"> some text </span> some other text </span>
^ ^
End1 End2
Run Code Online (Sandbox Code Playgroud)
编辑:
我现在看到跨越结束标记对于它正在关闭哪一个是不明确的,并且首先</span>
将关闭跨度id = 2,而不是像我想要的那样.
我的问题是,我有一块文本,我试图根据鼠标悬停的内容突出显示.该文本块由部分组成,其中一些部分彼此"重叠".我正在尝试使用一些jQuery和HTML来呈现此文档,因此当我将鼠标悬停在各个部分上时,将突出显示相应的部分.
因此,在上面的示例中,第一个跨度意味着以第一个span close标记结束,第二个span意味着以第二个span close标记结束.这是因为我的文档的语义,这是两个重叠的部分.
我想要它,所以当我向左移动时,它只会突出显示跨越id = 1和第一个跨度关闭,如果我在两个"重叠"跨度之间悬停,它将突出显示它们,如果我将鼠标悬停在右边,它将从span id = 2突出显示到最后一个span close.
但是,我开始认为这是不可能的.有什么方法可以区分HTML中允许重叠的文本片段吗?因此,当我将鼠标悬停在不同的跨度上时突出显示的jQuery脚本将突出显示正确的部分.
我应该在div和span之间交替吗?这会消除我当时正在关闭的内容的歧义,并允许我使用我的jQuery悬停脚本进行适当的突出显示吗?我想知道现在有两个以上的段重叠.叹了口气,我希望我可以解释我正在关闭的内容.
计算字符长度的最有效方法是什么,考虑字符编码?编码只在运行时才知道.例如,在UTF-8中,字符具有可变字节长度,因此需要单独确定每个字符.到目前为止,我已经想出了这个:
char c = getCharSomehow();
String encoding = getEncodingSomehow();
// ...
int length = new String(new char[] { c }).getBytes(encoding).length;
Run Code Online (Sandbox Code Playgroud)
但这在循环中是笨拙和低效的,因为new String
每次都需要创建.我在Java API中找不到其他更有效的方法.有一个String#valueOf(char)
,但根据其来源,它基本上与上面相同.我想这可以通过像位移这样的按位操作来完成,但这是我的弱点,我不确定如何在这里考虑编码:)
如果您对此问题有疑问,请查看此主题.
char c = getCharSomehow();
String encoding = getEncodingSomehow();
CharsetEncoder encoder = Charset.forName(encoding).newEncoder();
// ...
int length = encoder.encode(CharBuffer.wrap(new char[] { c })).limit();
Run Code Online (Sandbox Code Playgroud)
然而正如@Stephen C指出的那样,这方面存在更多问题.例如,可能需要考虑组合/代理字符.但这是另一个需要在此步骤之前的步骤中解决的问题.
我试图动态地分配内存到堆,然后删除分配的内存.下面的代码让我很难过:
// String.cpp
#include "String.h"
String::String() {}
String::String(char* source)
{
this->Size = this->GetSize(source);
this->CharArray = new char[this->Size + 1];
int i = 0;
for (; i < this->Size; i++) this->CharArray[i] = source[i];
this->CharArray[i] = '\0';
}
int String::GetSize(const char * source)
{
int i = 0;
for (; source[i] != '\0'; i++);
return i;
}
String::~String()
{
delete[] this->CharArray;
}
Run Code Online (Sandbox Code Playgroud)
以下是编译器尝试删除CharArray时出现的错误:
0xC0000005:访问冲突读取位置0xccccccc0.
这是堆栈上的最后一次调用:
msvcr100d.dll!operator delete(void*pUserData)第52行+ 0x3字节C++
我相当肯定这段代码中存在错误,但会为您提供所需的任何其他信息.哦,是的,使用VS 2010 for XP.
编辑:继承我的String.h
// String.h - string class
#pragma once
#define NOT_FOUND …
Run Code Online (Sandbox Code Playgroud) 我们有一个非常大的svn外部包含大约30,000个500k文件.此结帐可能需要很长时间,我们希望看到TeamCity日志中的进度发生.
有没有办法在执行svn checkout时使用更详细的日志记录而不仅仅是....
[19:26:00]:更新来源:代理方签出......
[19:26:00]:[更新来源:代理方签出......]将执行干净的结账.原因:Checkout目录为空或不存在
[19:26:00]:[更新来源:代理方签出...]清理/ opt/TeamCity/buildAgent/work/937995fe3d15f1e7
[19:26:00]:[更新来源:代理方签出......] VCS Root:guru 6 trunk with externals
[19:26:00]:[VCS Root:guru 6 trunk with externals]修订版:6521_2010/04/27 19:25:58-0500
我正在使用SimpleModal:
http://www.ericmmartin.com/projects/simplemodal/
并根据示例显示iframe:
// Display an external page using an iframe
var src = "http://365.ericmmartin.com/";
$.modal('<iframe src="' + src + '" height="450" width="830" style="border:0">', {
closeHTML:"",
containerCss:{
backgroundColor:"#fff",
borderColor:"#fff",
height:450,
padding:0,
width:830
},
overlayClose:true
});
Run Code Online (Sandbox Code Playgroud)
并弹出有2套滚动条,一个也许代表弹出的HTML元素,以及一个用于内嵌框架.试试这个演示:http://www.ericmmartin.com/projects/simplemodal/#examples
理想情况下,如果内容适合,我不喜欢滚动条,否则只有一个垂直滚动条.
有任何想法吗?谢谢!
我有一个单独的NSOperationQueue来处理我的所有网络请求.但是,我注意到,当我运行一个特别长的操作时(此特定操作至少需要25秒),我的其他操作在完成之前不会运行.
maxConcurrentOperationCount设置为NSOperationQueueDefaultMaxConcurrentOperationCount,所以我不相信这是问题所在.
有什么理由会发生这种情况吗?除了产生多个NSOperationQueues(一个我不确定会起作用的解决方案,我也不确定它是个好主意),解决这个问题的最佳方法是什么?
谢谢.
我整天都在看这个.几个小时前我可能应该离开它; 在这一点上,我可能会遗漏一些明显的东西.
简短版本:有没有办法生成并将非对称加密的哈希值归结为合理数量的明确的,人类可读的字符?
长版:
我想为我的软件生成许可证密钥.我希望这些键具有合理的长度(25-36个字符)并且易于人类读取和输入(因此避免使用数字0和大写字母O等模糊字符).
最后 - 这似乎是踢球者 - 我真的很想使用非对称加密来使生成新密钥变得更加困难.
我有一般的方法:将我的信息(用户名,产品版本,盐)连接成一个字符串并从中生成一个SHA1()哈希,然后用我的私钥加密哈希.在客户端上,从相同的信息构建SHA1()哈希,然后使用公钥解密许可证,看看我是否有匹配.
由于这是一个Mac应用程序,我查看了AquaticPrime,但这会生成一个相对较大的许可证文件而不是字符串.如果必须,我可以使用它,但作为用户,我非常喜欢我可以阅读和打印的许可证密钥的便利性.
我还看了CocoaFob确实生成了一个密钥,但它太长了以至于我还是想把它作为一个文件提供.
我在OpenSSL上愚弄了一段时间,却无法想出任何合理的长度.
那么......我错过了一些明显的东西吗?有没有办法生成并将非对称加密的哈希值归结为合理数量的明确的,人类可读的字符?
我愿意购买解决方案.但我在许多不同的平台上工作,所以我想要一些便携的东西.到目前为止,我所看到的一切都是特定于平台的.
很多,非常感谢您的解决方案!
PS - 是的,我知道它仍然会被破解.我想提出一些合理的东西,作为一个用户,我仍然会发现友好.
我有类SearchToUser和getFilesToWord.GetFilesToWord必须继承SearchToUser字段.如果SearchToUser类中为空构造,则扩展有效,否则:
cannot find symbol
symbol : constructor SearchToUser()
location: class SearchToUser
public class GetFilesToWord extends SearchToUser{
^
1 error
make: *** [all] Error 1
Run Code Online (Sandbox Code Playgroud)
我无法理解为什么扩展需要空构造函数.
[添加]
- ALERT ERRR!使用成分!左边是一个"坏"的例子 - 组合VS继承
它有效,但你能发现一些弱点吗?我可以将searchTerm设为私有,为它创建公共方法,为GetFilesToWord中的参数创建SearchToUser对象吗?
SearchToUser.java
public class SearchToUser {
public static GetFilesToWord geader;
public static String searchTerm;
SearchToUser(String s){
searchTerm=s.trim().toLowerCase();
files=geader.getFilesToWord(s);
}
...
}
Run Code Online (Sandbox Code Playgroud)
GetFilesToWord.java
public class GetFilesToWord extends SearhToUser{
public GetFilesToWord(){super(SearchToUser.searchTerm){
...
}
Run Code Online (Sandbox Code Playgroud) 我的Windows应用程序上有六个选项卡.我需要在标签#2之后放置标签#6,我该怎么办?我无法将标签拖到我想要的位置!5个选项卡充满了控件,需要很长时间才能命名和设计.知道如何移动最后一个标签并将其放在第三个标签之后吗?
java ×2
.net ×1
byte ×1
c# ×1
c++ ×1
character ×1
concurrency ×1
html ×1
iframe ×1
inheritance ×1
jquery ×1
license-key ×1
node.js ×1
nsoperation ×1
oop ×1
popup ×1
simplemodal ×1
teamcity ×1