Javascript 如何在动态代码中插入字符串中的匹配字? 问题
Im构建JS代码,可以:Javascript 如何在动态代码中插入字符串中的匹配字? 问题,javascript,jquery,Javascript,Jquery,Im构建JS代码,可以: 从div 从每个字符串中提取关键字 将关键字放在适当的位置以动态执行代码 //hocuspocus //一个函数刚刚将HTML中的.sendToJS语句转换成如下数组 句子=[ “.box1为单击,将背景更改为绿色”, “.box2是dblclick,将高度更改为200px”, “.box3悬停,将边框更改为红色”, “.box4为单击,将边框半径更改为20px”, “.box5为单击,将转换更改为.3s”, ] 句子。forEach(函数(s,i){ 断开=/(^.
div
字符串中提取关键字
//hocuspocus
//一个函数刚刚将HTML中的.sendToJS语句转换成如下数组
句子=[
“.box1为单击,将背景更改为绿色”,
“.box2是dblclick,将高度更改为200px”,
“.box3悬停,将边框更改为红色”,
“.box4为单击,将边框半径更改为20px”,
“.box5为单击,将转换更改为.3s”,
]
句子。forEach(函数(s,i){
断开=/(^.+?(?=,)(,\s)(.*)/g.exec(s)
a=断裂[1]
b=断裂[3]
c=/(*)是(\w+$)/g.exec(a)
d=/(\w+)(.*)(至)(.*)$/.exec(b)
who=“””+c[1]+“//示例.box1
evt=“””+c[2]+“//示例单击
change=“”+d[2]+“//背景示例
to=“””+d[4]+“//绿色示例
//由于某种原因,我不能让这个部件工作
//我有一切必要的工作…但它不会工作
$(who).on(evt,function(){
$(who).css(更改为)
console.log('已执行')
});
});代码>
正文{
背景:#E7F0F6;
显示器:flex;
对齐项目:居中;
证明内容:中心;
}
sendToJS先生{
宽度:0px;
高度:0px;
溢出:隐藏;
}
.盒子{
宽度:100px;
高度:100px;
背景:白色;
利润率:10px;
边界半径:10px;
位置:相对位置;
过渡:.3s;
}
.盒子:悬停{
盒影:0px 15px rgba(0,0,0,0.25),0px 0px 1px#36BCFF;
}
如果单击.box1,则将背景更改为绿色。如果选中了.box2,请将高度更改为200px。如果.box3悬停,请将边框更改为红色。如果单击.box4,则将边框半径更改为20px。如果单击.box5,则将转换更改为.3s。
无需在所有提取的值周围添加单引号。你也没有声明你的变量
hover
不是有效事件,请分别使用mouseenter
和mouseleave
编写脚本
固定代码:
//hocuspocus
//一个函数刚刚将HTML中的.sendToJS语句转换成如下数组
变量句=[
“.box1为单击,将背景更改为绿色”,
“.box2是dblclick,将高度更改为200px”,
“.box3是鼠标指针,将边框更改为3px纯红”,
“.box3已删除鼠标,请将边框更改为无”,
“.box4为单击,将边框半径更改为20px”,
.box5已单击,将转换更改为.3s
];
句子。forEach(函数(s,i){
var-breaked=/(^.+?(?=,)(,\s)(.*)/g.exec(s);
var a=断裂[1];
var b=断裂[3];
var c=/(*)是(\w+$)/g.exec(a);
变量d=/(\w+)(.*)(到)(.*)$/.exec(b);
var who=c[1];//example.box1
var evt=c[2];//示例单击
var change=d[2];//背景示例
var to=d[4];//绿色示例
//由于某种原因,我不能让这个部件工作
//我有一切必要的工作…但它不会工作
$(who).on(evt,function(){
$(who).css(更改为);
console.log('executed');
});
});代码>
正文{
背景:#E7F0F6;
显示器:flex;
对齐项目:居中;
证明内容:中心;
}
sendToJS先生{
宽度:0px;
高度:0px;
溢出:隐藏;
}
.盒子{
宽度:100px;
高度:100px;
背景:白色;
利润率:10px;
边界半径:10px;
位置:相对位置;
过渡:.3s;
}
.盒子:悬停{
盒影:0px 15px rgba(0,0,0,0.25),0px 0px 1px#36BCFF;
}
如果单击.box1,则将背景更改为绿色。如果选中了.box2,请将高度更改为200px。如果.box3悬停,请将边框更改为红色。如果单击.box4,则将边框半径更改为20px。如果单击.box5,则将转换更改为.3s。
“正在执行的示例”-您如何知道正在执行的是什么,而不是说,$(“.box1”).css('background'”、'green')
?我只想说…$('box1').css('background','green')
好吧……这是所有这些示例的外观。“应该看起来”,对吧。但不是“实际执行的是什么”。差别很大。red
不是CSSborder
属性的有效值。它应该是1px纯红
或类似颜色。实际上悬停
不是有效事件。分别使用mouseenter
和mouseleave
编写脚本。