在不知道JavaScript的键的情况下Object,我怎么能像...
var obj = {
param1: 'something',
param2: 'somethingelse',
param3: 'another'
}
obj[param4] = 'yetanother';
Run Code Online (Sandbox Code Playgroud)
... INTO ...
var str = 'param1=something¶m2=somethingelse¶m3=another¶m4=yetanother';
Run Code Online (Sandbox Code Playgroud)
...?
在HTML网站上,您有一个固定的元素,如下所示:
<div id="fixed">
<p>Some content</p>
</div>
Run Code Online (Sandbox Code Playgroud)
它有这个CSS:
#fixed { height:150px; position:fixed; top:0; left:0; z-index:10000; }
Run Code Online (Sandbox Code Playgroud)
当您在移动设备(或任何支持触摸屏的设备)上查看此页面,并且您捏合屏幕以放大时,固定元素将与所有其他内容一起放大(它会变大).放大到足够远时,它变得如此之大,以至于它几乎完全覆盖了它下面的所有内容.
一个实际的用例是UI,如顶部的固定导航栏,或屏幕一角的浮动按钮.
如何防止单个元素在浏览器中调整大小,并使其始终保持相同的大小?
我似乎无法找到在创建后从画布中删除形状或路径的功能.
所以我在2点之间创建了一条贝塞尔曲线
beginPath();
bezierCurveTo();
stroke();
closePath();
Run Code Online (Sandbox Code Playgroud)
如何在画布创建后将其从画布中删除?我需要能够通过toggle()和调用删除功能blur().我确定这个存在的东西......
在此先感谢您的帮助!
我有一个带标签界面的页面.每个标签都有唯一的ID.我已经启用了指向该页面的链接,并在哈希之后附加了id,我现在正试图规避默认的浏览器行为,该行为在页面上元素的位置打开带有哈希的URL.
所以:
<a
href="pageB.php#Tab4">Go</a><div id="Tab4">页面上的位置.这正是我想要阻止的.
有任何想法吗?谢谢!
我有一个div像元素
<div id="move">Something</div>
Run Code Online (Sandbox Code Playgroud)
...我想在DOM中从一个位置移动到另一个位置.我可以这样做appendTo(),像这样:
$('#move').fadeOut(500, function() {
$(this).appendTo('#another-container').fadeIn(500);
});
Run Code Online (Sandbox Code Playgroud)
......或者这会复制吗?
如果它是重复的,那么id在DOM 中将有两个相同的元素.我怎么能避免这个?
这是一个我无法弄清楚的非常小的问题.我相信有人可以立即回答:
有多个选择器喜欢
$('a.button, span.xyz, a.another').click(function(e) {
var clicked_element = ???;
});
Run Code Online (Sandbox Code Playgroud)
,我该如何确定实际点击了哪个选择器?我需要像使用它一样$(clicked_element)....
谢谢.
只是好奇是否有一个既定的"最佳方法"来定位父元素内的子元素.
例如,如果我想在父元素的子元素上创建一个click事件,应该首选哪一个?
a)给出父元素和id并执行:
$('ul#parent li').click(function() {});
b)或者,给每个孩子一个班级名称并直接定位他们:
$('li.child').click(function() {});
我问,因为我试图挤出一些我可以在一个有点大的应用程序中获得的性能.逻辑将要求定位id比定位类名更快,但父>子结构是否否定了这种优势并证明了通过classname进行定位的合理性?
感谢您的任何见解.
这是一个非常奇怪的问题,我真的没有在其他地方找到任何东西,所以我想我会在这里解决它.
假设我有一个"image.jpg"并意外地在CSS中引用它,如下所示:
url(imag.jpg)
Run Code Online (Sandbox Code Playgroud)
注意缺少的"e".对我来说,Firefox非常聪明,它仍然可以找到正确的图像,但不会发出警告.所以我认为一切都好.
但是后来,当我在任何其他浏览器中测试页面时,突然间图像不会显示(这是正确的).这是因为Firefox认为在不告诉我的情况下纠正错误是个好主意.
这对于脚本来说变得更加重要.Firefox还会自动更正<script src="">引用中的拼写错误.
我只是浪费了整整一个小时的时间,试图在Webkit中调试ajax函数 - 事实证明,我只是在我包含文件时输入错误.
为什么火狐会在没有告知的情况下这样做,以及我可以将其关闭的地方?这首先发生在FF 3.0附近,并且仍然存在于3.6.3中.
/ rant感谢任何inpu;)
编辑:感谢您的答案到目前为止.我上传了一个演示版
编辑2:感谢下面的精彩输入,我发现它是我的服务器上有CheckSpelling模块(Apache).解决方案:添加
CheckSpelling OFF
Run Code Online (Sandbox Code Playgroud)
到.htaccess并修复它.再次感谢所有人.
PS.对不起,我责备你了,Firefox.你还是最好的!
我试图在 .htaccess 中实现以下目标:
domain.com/path/to/file.php)domain.com/path/to/file.php?key=val&key2=val2)我尝试了这段代码:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
但它不尊重 http/https,也不保留已请求的路径(例如,它重定向https://www.domain.com/path/file.php到http://domain.com/file.php, 当它应该重定向到时https://domain.com/path/file.php。)
有任何想法吗?
为了使我的jQuery代码模块化,即可重用,我在另一个函数中放置了一个ajax()函数fetch_ajax().我正在尝试fetch_ajax()使用来自其他地方的参数调用,这应该只是运行包含ajax()并返回响应.
但这并没有发生 - 相反,fetch_ajax()显然对调用者来说过快地返回错误,并且不会等到ajax()完成请求并得到响应.
这是代码:
该fetch_ajax()功能
function fetch_ajax(url) {
$.ajax({
type: 'GET',
url: url,
success: function(response) {
return response;
}
});
}
Run Code Online (Sandbox Code Playgroud)
调用功能:
function caller() {
response = fetch_ajax('script.php');
alert(response); //this is always 'undefined'
}
Run Code Online (Sandbox Code Playgroud)
在fetch_ajax(),我尝试不直接response从内部返回ajax(),但将其写入变量,并在之后返回该变量ajax()- 这也不起作用(相同的结果).
当我return response;在ajax()功能内部发出第二个警报时,我看到一个内部后面的一个火caller().所以我想不知怎的,fetch_ajax()在它返回false之前不等待包含的函数执行.
我究竟做错了什么?
谢谢.
所以我有一个有效的 preg_match 模式来查找字符串中 HTML 属性的值,我需要用 preg_replace 做同样的事情——不是找到并返回值,而是用一个新的值替换它。
但是如果我只使用 preg_match 模式它不起作用......我被卡住了。
这是代码:
$string = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
width="437" height="288" id="viddler">
<param name="movie" value="http://www.viddler.com/player/1234567890/" />
<param name="allowScriptAccess" value="always" />
<param name="allowFullScreen" value="true" />
<param name="flashvars" value="fake=1"/>
<embed src="http://www.viddler.com/player/1234567890/"
width="437" height="288" type="application/x-shockwave-flash"
allowScriptAccess="always" allowFullScreen="true" flashvars="fake=1"
name="viddler" ></embed></object>';
preg_match("|<*[^>]*width=\"([^>]+)\"[^>]*>|Ui", $string, $results);
echo 'Width: '.$results[1];
Run Code Online (Sandbox Code Playgroud)
这有效并将返回437。但是,如果我在 preg_replace() 函数中使用相同的模式,它将删除整个<object>标签。我需要用其他任何东西替换那个 437,比如 200。当我们在做的时候,我还需要替换高度值。最后,这应该适用于任何嵌入代码或 iframe,因此它应该分别查找width="或height="......就像上面的 preg_match 示例一样。
任何帮助深表感谢。
编辑:蒂姆的解决方案如下
我让蒂姆的模式进行了一个小的修改:
$interm = preg_replace('|(<*[^>]*width=)"[^>]+"([^>]*>)|Ui', '\1"200"\2', $string);
$result = preg_replace('|(<*[^>]*height=)"[^>]+"([^>]*>)|Ui', '\1"300"\2', $interm);
Run Code Online (Sandbox Code Playgroud)
如果没有这个更改,第一个函数会替换宽度,但它会删除标签中之后的所有属性。 …