Javascript 如何让JS代码同时允许输入和文本区域

Javascript 如何让JS代码同时允许输入和文本区域,javascript,html,jquery,css,Javascript,Html,Jquery,Css,我有一些JS代码,可以使用用户输入将代码变为粗体、斜体或下划线,因此如果用户选择粗体,文本将变为粗体。 代码如下: $('input[name=“textStyle”]”)。更改(函数(){ if($(this).val()=='bold'){ if($(this).is(':checked'))$('input[name=“styledText”]').css('font-weight','bold'); else$('input[name=“styledText”]).css('font-

我有一些JS代码,可以使用用户输入将代码变为粗体、斜体或下划线,因此如果用户选择粗体,文本将变为粗体。 代码如下:

$('input[name=“textStyle”]”)。更改(函数(){
if($(this).val()=='bold'){
if($(this).is(':checked'))$('input[name=“styledText”]').css('font-weight','bold');
else$('input[name=“styledText”]).css('font-weight','normal');
}
else if($(this).val()='italic'){
if($(this).is(':checked'))$('input[name=“styledText”]')).css('font-style','italic');
else$('input[name=“styledText”]).css('font-style','normal');
}
else if($(this).val()=='underline'){
if($(this).is(':checked'))$('input[name=“styledText”]').css('text-decoration','underline');
else$('input[name=“styledText”]').css('text-decoration','none');
}
});
正文{
背景色:#5f5959;
颜色:#000000;
}
text区域[type=text],选择{
宽度:100%;
填充:12px 20px;
利润率:8px0;
显示:内联块;
边框:1px实心#ccc;
边界半径:4px;
框大小:边框框;
}
text区域[类型=提交]{
宽度:100%;
背景色:#f9f9f9;
颜色:000000;
填充:14px 20px;
利润率:8px0;
边界:无;
边界半径:4px;
光标:指针;
}
text区域[类型=提交]:悬停{
背景色:#908989;
}
div{
边界半径:5px;
背景色:#F2F2;
填充:20px;
}

粗体:

斜体:
下划线: 提交时,您的文本将被清除,您的博客将被发布


$('[name=“styledText”]')
将使用
name=“styledText”
访问所有标签。请检查以下代码好吗?希望它对你有用。我们在javascript代码中使用了
textarea
元素而不是
input
,因为您使用了
textarea
作为字段

请参阅此链接:

首先,而不是
$('input[name=“styledText”]')
您应该执行
$('textarea[name=“styledText”]')
。其次,jquery
.css
也接受一个对象,因此创建一个对象
cssProps
,并添加默认属性。然后在切换复选框时更改这些键的值。完成后,在最后使用
.css
并传递
cssProps
属性

让cssProps={
“字体重量”:“,
“字体样式”:“,
“文本装饰”:“
}
$('input[name=“textStyle”]”)。更改(函数(){
const val=$(this.val()
如果($(this).is(':checked')){
开关(val){
大小写“粗体”:
cssProps['font-weight']='bold';
打破
斜体字:
cssProps['font-style']='italic';
打破
大小写“下划线”:
cssProps['text-decoration']='underline';
打破
}
}否则{
开关(val){
大小写“粗体”:
cssProps['font-weight']='';
打破
斜体字:
cssProps['font-style']='';
打破
大小写“下划线”:
cssProps['text-decoration']='';
打破
}
}
$('textarea[name=“styledText”]').css(cssProps)
});
正文{
背景色:#5f5959;
颜色:#000000;
}
text区域[类型=文本],
挑选{
宽度:100%;
填充:12px 20px;
利润率:8px0;
显示:内联块;
边框:1px实心#ccc;
边界半径:4px;
框大小:边框框;
}
text区域[类型=提交]{
宽度:100%;
背景色:#f9f9f9;
颜色:000000;
填充:14px 20px;
利润率:8px0;
边界:无;
边界半径:4px;
光标:指针;
}
text区域[类型=提交]:悬停{
背景色:#908989;
}
div{
边界半径:5px;
背景色:#F2F2;
填充:20px;
}

粗体:

斜体:
下划线: 提交时,您的文本将被清除,您的博客将被发布!


请参考下面的链接。我在您的HTML
中做了一个更改。我还有target
name
属性,比如
$('[name=“styledText”]')


您可以查询
文本区域
$('textarea[name=styledText]')
如果您想让jQuery在同一个函数中检查两个选择器,可以使用
$('input[name=“styledText”]、textarea[name=“styledText”])
这太完美了!非常感谢你!