我想在JavaScript中创建一个String.replaceAll()方法,我认为使用RegEx将是最简洁的方法.但是,我无法弄清楚如何将变量传递给RegEx.我已经可以做到这一点,它将用"A"替换所有"B"的实例.
"ABABAB".replace(/B/g, "A");
Run Code Online (Sandbox Code Playgroud)
但我想做这样的事情:
String.prototype.replaceAll = function(replaceThis, withThis) {
this.replace(/replaceThis/g, withThis);
};
Run Code Online (Sandbox Code Playgroud)
但显然这只会替换文本"replaceThis"...所以如何将此变量传递给我的RegEx字符串?
如何在Twitter Bootstrap 3中将容器中的一个列大小的div(12列)居中.
请看起初小提琴.
.centered {
background-color: red;
}Run Code Online (Sandbox Code Playgroud)
所以,我想要一个div类.centered,在容器中居中.如果有多个div,我可以使用一行,但是现在我只想要一个在容器中居中的一列大小的div(12列).
我也不确定上述方法是否足够好,因为意图不是要抵消div一半.我不需要外面的自由空间div和div收缩比例的内容.我想将div外部空间均匀分布(缩小到容器宽度==一列).
a = [1, 2, 3, 4]
b = a.index(6)
del a[b]
print a
Run Code Online (Sandbox Code Playgroud)
以上显示以下错误:
Traceback (most recent call last):
File "D:\zjm_code\a.py", line 6, in <module>
b = a.index(6)
ValueError: list.index(x): x not in list
Run Code Online (Sandbox Code Playgroud)
所以我必须这样做:
a = [1, 2, 3, 4]
try:
b = a.index(6)
del a[b]
except:
pass
print a
Run Code Online (Sandbox Code Playgroud)
但有没有更简单的方法来做到这一点?
我有
$(document).ready(function() {
//set initial state.
$('#textbox1').val($(this).is(':checked'));
$('#checkbox1').change(function() {
$('#textbox1').val($(this).is(':checked'));
});
$('#checkbox1').click(function() {
if (!$(this).is(':checked')) {
return confirm("Are you sure?");
}
});
});Run Code Online (Sandbox Code Playgroud)
和
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" id="checkbox1"/><br />
<input type="text" id="textbox1"/>Run Code Online (Sandbox Code Playgroud)
此处更改的事件使用复选框状态更新文本框值.我使用click事件确认取消选中时的操作.如果用户选择取消,则复选标记将恢复,但更改甚至会在确认之前触发,使事物处于不一致状态(选中复选框时文本框显示为false).如何处理取消并保持文本框值与检查状态一致?
假设我有一些jQuery代码,它将事件处理程序附加到具有类"myclass"的所有元素.例如:
$(function(){
$(".myclass").click( function() {
// do something
});
});
Run Code Online (Sandbox Code Playgroud)
我的HTML可能如下:
<a class="myclass" href="#">test1</a>
<a class="myclass" href="#">test2</a>
<a class="myclass" href="#">test3</a>
Run Code Online (Sandbox Code Playgroud)
这没有问题.但是,请考虑是否在将来某个时间将"myclass"元素写入页面.
例如:
<a id="anchor1" href="#">create link dynamically</a>
<script type="text/javascript">
$(function(){
$("#anchor1").click( function() {
$("#anchor1").append('<a class="myclass" href="#">test4</a>');
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,当用户点击#anchor1时会创建"test4"链接.
"test4"链接没有与之关联的click()处理程序,即使它具有class ="myclass".
知道如何解决这个问题吗?
基本上,我想编写一次click()处理程序,并将其应用于页面加载时出现的内容和稍后通过Ajax/DHTML引入的内容.
使用.fadeIn()和.fadeOut(),我一直在我的页面上隐藏/显示一个元素,但有两个按钮,一个用于隐藏,一个用于显示.我现在想要一个按钮来切换两者.因此,我的问题是如何检测元素是否可见?
我的HTML原样:
<a onclick="showTestElement()">Show</a>
<a onclick="hideTestElement()">Hide</a>
Run Code Online (Sandbox Code Playgroud)
我的JS是这样的:
function showTestElement() {
$('#testElement').fadeIn('fast');
}
function hideTestElement() {
$('#testElement').fadeOut('fast');
}
Run Code Online (Sandbox Code Playgroud)
我希望得到我的HTML:
<a onclick="toggleTestElement()">Show/Hide</a>
Run Code Online (Sandbox Code Playgroud)
我希望得到我的JS,虽然纯粹的jQuery会很好:
function toggleTestElement() {
if (document.getElementById('testElement').***IS_VISIBLE***) {
$('#testElement').fadeOut('fast');
} else {
$('#testElement').fadeIn('fast');
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助感激地收到..
我试图将链接显示为白色,没有下划线.文本颜色正确显示为白色,但蓝色下划线固执地持续存在.我尝试text-decoration: none;并text-decoration: none !important;在CSS中删除链接下划线.都没有奏效.
HTML:
.boxhead .otherPage {
color: #FFFFFF;
text-decoration: none;
}Run Code Online (Sandbox Code Playgroud)
CSS:
<div class="boxhead">
<h2>
<span class="thisPage">Current Page</span>
<a href="myLink"><span class="otherPage">Different Page</span></a>
</h2>
</div>Run Code Online (Sandbox Code Playgroud)
如何从链接中删除蓝色下划线?
如何删除字符串中的空格?例如:
输入:__CODE__
输出:__CODE__
谢谢
使用纯JavaScript(而不是jQuery),有没有一种方法可以测试一个元素是否包含一个类?
目前,我这样做:
HTML:
var test = document.getElementById("test");
var testClass = test.className;
switch (testClass) {
case "class1":
test.innerHTML = "I have class1";
break;
case "class2":
test.innerHTML = "I have class2";
break;
case "class3":
test.innerHTML = "I have class3";
break;
case "class4":
test.innerHTML = "I have class4";
break;
default:
test.innerHTML = "";
}Run Code Online (Sandbox Code Playgroud)
JS:
<div id="test" class="class1"></div>Run Code Online (Sandbox Code Playgroud)
这导致此输出,这是正确的:
<div id="test" class="class1 class5"></div>
Run Code Online (Sandbox Code Playgroud)
问题是,如果我将HTML更改为此...
var test = document.getElementById("test");
var testClass = test.className;
switch (testClass) {
case "class1":
test.innerHTML = "I have …Run Code Online (Sandbox Code Playgroud) 有没有办法让像ngClass这样的表达式成为条件.例如,我尝试了以下内容:
<span ng-class="{test: 'obj.value1 == \'someothervalue\''}">test</span>
Run Code Online (Sandbox Code Playgroud)
这段代码的问题在于,无论obj.value1是什么,类测试总是应用于元素.这样做:
<span ng-class="{test: obj.value2}">test</span>
Run Code Online (Sandbox Code Playgroud)
只要obj.value2不等于truthy值,该类就不应用.现在我可以通过这样做来解决第一个例子中的问题:
<span ng-class="{test: checkValue1()}">test</span>
Run Code Online (Sandbox Code Playgroud)
checkValue1函数如下所示:
$scope.checkValue1 = function() {
return $scope.obj.value === 'somevalue';
}
Run Code Online (Sandbox Code Playgroud)
我只是想知道这是否是ngClass应该如何工作.我也在构建一个自定义指令,我想做类似的事情.但是我找不到观察表达的方法(也许这是不可能的,也就是为什么它会像这样工作).
这是一个显示我的意思的plnkr: