我需要做的是能够存储关于元素的一些数据.
例如,假设我有一个列表项<li>,我想在元素中存储一些关于它的数据,例如"这是来自XYZ的元素1".
我知道如何做到这一点的唯一方法(如果我能避免,我不想这样做)是这样的:
<li id='item1'>
Item 1
<!--This is element 1 from XYZ-->
</li>
<script>
// read it something like this
var e = document.getElementById('item1').innerHTML;
// then parse out the comment, etc.
// --
</script>
Run Code Online (Sandbox Code Playgroud)
我真正想要的是这样的东西(我相当肯定是不可能的):
// example
<li id='item1' userdata='This is element 1 from XYZ'>Item 1</li>
Run Code Online (Sandbox Code Playgroud)
..当然,我希望能够通过javasscript以某种方式访问它.
或者,还有其他方法来实现这一目标吗?
谢谢 -
我使用google.codes minify来动态缩小我的css和js文件.我还设置了我的.htaccess在我的所有css和js文件上使用deflate - 这是因为某些js文件(如shadowbox和tinymce)引用了代码中的其他js文件.所以我用apache deflate进行压缩,并用gzip缩小压缩一些js和css文件 - 我通过这样做创建开销 - 首先gzipping(minify)然后zlib(deflate)将再次运行.或者apache deflate忽略已经gzip压缩的文件,这些文件在头文件中具有minify设置的属性.有人有这方面的经验吗?
我们运行一个用C#.NET 3.5编写的复杂系统,包含20多个网站,10多个Windows服务以及各种计划任务和帮助应用程序.
其中每个都与我们的一个或多个框架和业务逻辑DLL捆绑在一起.这些DLL具有广泛的配置设置,这已经变成了一个噩梦,我们为同一类库的多个实例维护了40多个配置文件.
我们不会出于各种原因在GAC中注册我们的DLL:1)我们喜欢在不重建整个系统或导致不必要的停机时间的情况下快速推出对选择项目的更改的灵活性.2)DLL的某些实例需要稍微不同的配置; 例如,某些项目使用不同的连接字符串,通知电子邮件地址等.
我们在Web.config/App.config中尝试了AppSettings文件/ configSource属性,但这些属性只适用于相对路径,而不是跨项目.我们考虑在machine.config中保存默认值,但这是一项任务,过于混乱,并且充满了与我们的项目无关的重要内容.
我们当前的"解决方案"是使用我们自己的配置文件格式,它首先检查当前项目的"bin"文件夹中的配置,如果不存在,则从硬编码的中心位置加载.这允许我们在必要时覆盖设置,但在其余时间使用默认设置.
最终我们想要的是将每个类库的默认设置放在一个中心位置,然后每个实例都有一个可选的配置文件,该文件只覆盖那些与默认设置不同的设置.
在.NET中是否有建议的行业标准方法来解决这个问题?
我有以下带有多个输入的html:
<input type="submit" value="Save and close" name="commit"/>
<input type="submit" value="Save" name="commit"/>
Run Code Online (Sandbox Code Playgroud)
并且想用黄瓜测试点击"保存"按钮.但是,当我在黄瓜测试中这样做时:
When I press "Save"
Run Code Online (Sandbox Code Playgroud)
它点击"保存并关闭"按钮,因为它出现在"保存"按钮之前.
查看用于查找按钮的webrat源:
def button_element
button_elements.detect do |element|
@value.nil? ||
matches_id?(element) ||
matches_value?(element) ||
matches_html?(element) ||
matches_alt?(element)
end
end
...
def matches_value?(element)
element["value"] =~ /^\W*#{Regexp.escape(@value.to_s)}/i
end
...
Run Code Online (Sandbox Code Playgroud)
似乎webrat接受第一场比赛,并且只从内容的开头匹配.
有没有办法完全匹配,所以黄瓜找到"保存"并忽略"保存并关闭"?
当谈到添加gems/plugins时,我注意到有时候作者名称会被添加到gem/plugin名称中,而有时则不会.这背后有什么理由吗?
例:
config.gem "thoughtbot-factory_girl", :source => "http://gems.github.com"
Run Code Online (Sandbox Code Playgroud)
为什么不这样做:
config.gem "factory_girl", :source => "http://gems.github.com"
Run Code Online (Sandbox Code Playgroud)
你什么时候区分这两者?
#include <setjmp.h> #include <vector> int main(int argc, char**) { std::vector<int> foo(argc); jmp_buf env; if (setjmp(env)) return 1; }
用GCC 4.4.1编译上面的代码,g ++ test.cc -Wextra -O1,给出了这个令人困惑的警告:
/usr/include/c++/4.4/bits/stl_vector.h: In function ‘int main(int, char**)’: /usr/include/c++/4.4/bits/stl_vector.h:1035: warning: variable ‘__first’ might be clobbered by ‘longjmp’ or ‘vfork’
stl_vector.h的第1035行是在构造foo时调用的vector(n,value)构造函数使用的辅助函数中.如果编译器可以找出参数值(例如它是一个数字文字),警告就会消失,所以我在这个测试用例中使用了argc,因为编译器无法确定它的值.
我猜这个警告可能是因为编译器优化了向量构造,所以它实际上发生在setjmp着陆点之后(当构造函数参数依赖于函数的参数时,这似乎就是这种情况).
我怎样才能避免这个问题,最好不必将setjmp部分分解为另一个函数?
不使用setjmp不是一个选项,因为我遇到了一堆需要使用它来进行错误处理的C库.
这实际上是一个两部分问题,因为我还没有完全理解这些东西是如何工作的:
我的情况:我正在编写一个让用户上传图片的网络应用程序.然后我的应用程序调整为可显示的内容(例如:640x480-ish)并保存文件以供日后使用.
我的问题:
我对此并不十分肯定,因为我认为:(让我们举一个极端的例子),如果某人有500万像素的图像以质量0保存,它就会像任何东西一样块状.将图像尺寸缩小到640x480,可以平滑块状,几乎不那么明显......直到我再次将质量保存为0 ...
在频谱的另一端,如果有一个图像是800x600,q = 0,调整到640x480不会改变它看起来像完全废话的事实,所以用q = 80保存将是多余的.
我甚至关闭了吗?
我在PHP上使用GD2库,如果有任何用处的话
我需要一个更清晰的解决方案来使用ImmutableSet.我的代码看起来像
Set foo = ImmutableSet.copyOf(aGeoR.getFailed());
Run Code Online (Sandbox Code Playgroud)
当aGeoR.getFailed()返回一个或多个条目时,它工作得很好.
当返回的集为null时,它会失败.
当它为null时,我需要一个
Set foo = ImmutableSet.of();
Run Code Online (Sandbox Code Playgroud)
干净的方法是什么?
我正在尝试用matlab中的最佳拟合线绘制散点图,我可以使用散射(x1,x2)或散点图(x1,x2)获得散点图,但基本拟合选项被遮蔽并且lsline返回错误'找不到允许的线型.什么都没做'
任何帮助都会很棒,
谢谢,乔恩.
所以我试图解析 HTML 页面并<p>
使用get_elements_by_tag_name('p');
问题是当我使用时$element->nodeValue
,它返回奇怪的字符。文档首先$html
使用 curl 加载,然后将其加载到 DOMDocument 中。
我确定这与字符集有关。
这是一个响应示例:“aujourd’hui”。
提前致谢。