jquery 获取div外部的下一个没有id的文本区域

i7uq4tfw  于 2023-06-22  发布在  jQuery
关注(0)|答案(2)|浏览(161)

我需要得到下一个textarea,但我不能与下一个甚至找到。
示例代码HTML:

<div>
    <div class="guides_chapters_button" onclick="surroundtest('[center]', '[/center]');">Center</div>
    <div class="guides_chapters_button" style="text-decoration: underline;" onclick="surround('[u]', '[/u]');">u</div>
</div>
<textarea class="guides_chapters_textarea" id="textareamatch" name="matchupm" rows="7" cols="25"></textarea>

JS:

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

JS FIDDLE:http://jsfiddle.net/qmpY8/1/
我需要工作的是surroundtest,另一个是一个工作的例子,但使用id。我很想替换那个,因为我使用的是克隆对象。

w3nuxt5m

w3nuxt5m1#

surroundtest中的this语句适用于window对象,而不是元素。你应该做的是改变函数定义如下:

function surroundtest(element, text2,text3){
    var c = $(element).parent().next('textarea');
    ...
}

相应的HTML:

<div class="guides_chapters_button" onclick="surroundtest(this, '[center]', '[/center]');">Center</div>
disbfnqx

disbfnqx2#

如果这是你要使用的HTML,那么.closest()也可以用来获取textarea元素。如下所示:

var c = $(element).parent().closest('textarea');

相关问题