-1

我在 div 之后有一个 textarea,我正在使用 rangyinputs 在该区域中插入一些文本,例如周围等。

如果我使用以下代码,它可以工作:

window.surround5 = function surround5(text2,text3){
$("#textarea5").surroundSelectedText(text2, text3);
}

是 textarea5 类名,但我不想使用类名,所以我尝试了:

window.surroundtest = function surroundtest(text2,text3){
var c = $(this).next('textarea');
c.surroundSelectedText(text2, text3);
}

但它不断让我对 rangyinputs 上的节点产生一些错误,而这些错误并没有以其他方式显示。如果我发出警报,它会显示“对象对象”,所以它实际上找到了 textarea 对吗?

实现将是这样的:

<div>
<div onclick="surroundtest('[center]', '[/center]');">Center</div>
</div>
<textarea ....>

使用正在调用的 div 进行编辑。

JSFIDDLE:http: //jsfiddle.net/qmpY8/

4

1 回答 1

0

请记住,在 jQuery 中,如果你想按类选择一个元素,你可以通过

$('.elementClass') //Select one or more element by class

# 选择器用于 id,而不是类。

$('#elementId') //Select one element by id

希望能帮助到你。

如果您只想选择文本区域。只有当只是一个文本区域。

就像这样:

$('textarea')

我仍然没有让你坚持不要使用 id 或 class。

我解决它的方法是将 id 传递给函数,因此,通过这种方式,html 上出现多少 textareas 并不重要。

<div>
<div class="guides_chapters_button" onclick="surround('[center]', '[/center]', 'textareamatch');">Center</div>
<div class="guides_chapters_button" style="text-decoration: underline;" onclick="surround('[u]','[ u/]', 'textareamatch');">u</div>

window.surround = function surround(text2,text3, id){
    $("#" + id).surroundSelectedText(text2, text3);
}

我测试了,它的工作原理。 http://jsfiddle.net/wNrWC/

来自墨西哥的问候。

于 2013-08-12T21:20:07.643 回答